[INFO] fetching crate ai-workbench-lib 0.4.0...
[INFO] testing ai-workbench-lib-0.4.0 against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065
[INFO] extracting crate ai-workbench-lib 0.4.0 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate ai-workbench-lib 0.4.0
[INFO] finished tweaking crates.io crate ai-workbench-lib 0.4.0
[INFO] tweaked toml for crates.io crate ai-workbench-lib 0.4.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate ai-workbench-lib 0.4.0 on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ai-workbench-lib 0.4.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded unicode-id v0.3.5
[INFO] [stderr]   Downloaded time-core v0.1.5
[INFO] [stderr]   Downloaded spki v0.6.0
[INFO] [stderr]   Downloaded aws-smithy-query v0.60.7
[INFO] [stderr]   Downloaded base16ct v0.1.1
[INFO] [stderr]   Downloaded potential_utf v0.1.3
[INFO] [stderr]   Downloaded signature v1.6.4
[INFO] [stderr]   Downloaded rfc6979 v0.3.1
[INFO] [stderr]   Downloaded nu-ansi-term v0.50.1
[INFO] [stderr]   Downloaded base64ct v1.8.0
[INFO] [stderr]   Downloaded ecdsa v0.14.8
[INFO] [stderr]   Downloaded crypto-bigint v0.4.9
[INFO] [stderr]   Downloaded der v0.6.1
[INFO] [stderr]   Downloaded aws-sdk-ssooidc v1.84.0
[INFO] [stderr]   Downloaded aws-sdk-sso v1.83.0
[INFO] [stderr]   Downloaded aws-config v1.8.6
[INFO] [stderr]   Downloaded aws-sdk-sts v1.85.0
[INFO] [stderr]   Downloaded hyper v1.7.0
[INFO] [stderr]   Downloaded markdown v1.0.0
[INFO] [stderr]   Downloaded bindgen v0.69.5
[INFO] [stderr]   Downloaded aws-lc-rs v1.13.3
[INFO] [stderr]   Downloaded time v0.3.42
[INFO] [stderr]   Downloaded aws-smithy-runtime v1.9.1
[INFO] [stderr]   Downloaded aws-sdk-bedrockruntime v1.105.0
[INFO] [stderr]   Downloaded rustls v0.23.31
[INFO] [stderr]   Downloaded aws-smithy-http-client v1.1.1
[INFO] [stderr]   Downloaded aws-smithy-types v1.3.2
[INFO] [stderr]   Downloaded tracing-subscriber v0.3.20
[INFO] [stderr]   Downloaded hyper-util v0.1.16
[INFO] [stderr]   Downloaded security-framework v3.3.0
[INFO] [stderr]   Downloaded rustls-webpki v0.103.4
[INFO] [stderr]   Downloaded regex-lite v0.1.7
[INFO] [stderr]   Downloaded io-uring v0.7.10
[INFO] [stderr]   Downloaded p256 v0.11.1
[INFO] [stderr]   Downloaded aws-sigv4 v1.3.4
[INFO] [stderr]   Downloaded crc-fast v1.3.0
[INFO] [stderr]   Downloaded elliptic-curve v0.12.3
[INFO] [stderr]   Downloaded rustls-pki-types v1.12.0
[INFO] [stderr]   Downloaded bytes-utils v0.1.4
[INFO] [stderr]   Downloaded aws-types v1.3.8
[INFO] [stderr]   Downloaded bitflags v2.9.4
[INFO] [stderr]   Downloaded sec1 v0.3.0
[INFO] [stderr]   Downloaded aws-smithy-checksums v0.63.8
[INFO] [stderr]   Downloaded aws-smithy-eventstream v0.60.11
[INFO] [stderr]   Downloaded aws-smithy-http v0.62.3
[INFO] [stderr]   Downloaded tokio-rustls v0.26.2
[INFO] [stderr]   Downloaded aws-smithy-xml v0.60.10
[INFO] [stderr]   Downloaded aws-credential-types v1.2.6
[INFO] [stderr]   Downloaded aws-smithy-async v1.2.5
[INFO] [stderr]   Downloaded time-macros v0.2.23
[INFO] [stderr]   Downloaded pkcs8 v0.9.0
[INFO] [stderr]   Downloaded aws-smithy-json v0.61.5
[INFO] [stderr]   Downloaded rustls-native-certs v0.6.3
[INFO] [stderr]   Downloaded rustls-native-certs v0.8.1
[INFO] [stderr]   Downloaded libloading v0.8.8
[INFO] [stderr]   Downloaded xmlparser v0.13.6
[INFO] [stderr]   Downloaded deranged v0.5.3
[INFO] [stderr]   Downloaded uuid v1.18.1
[INFO] [stderr]   Downloaded crc v3.3.0
[INFO] [stderr]   Downloaded home v0.5.11
[INFO] [stderr]   Downloaded aws-smithy-observability v0.1.3
[INFO] [stderr]   Downloaded aws-sdk-s3 v1.104.0
[INFO] [stderr]   Downloaded aws-runtime v1.5.10
[INFO] [stderr]   Downloaded aws-lc-sys v0.30.0
[INFO] [stderr]   Downloaded aws-smithy-runtime-api v1.9.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 15e7774e998a43673433c5f79a016818b3e0cc9c26749204ccd6b1fa92f7ce65
[INFO] running `Command { std: "docker" "start" "-a" "15e7774e998a43673433c5f79a016818b3e0cc9c26749204ccd6b1fa92f7ce65", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "15e7774e998a43673433c5f79a016818b3e0cc9c26749204ccd6b1fa92f7ce65", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "15e7774e998a43673433c5f79a016818b3e0cc9c26749204ccd6b1fa92f7ce65", kill_on_drop: false }`
[INFO] [stdout] 15e7774e998a43673433c5f79a016818b3e0cc9c26749204ccd6b1fa92f7ce65
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2b40fb52c4ad6407788e3b9b42e592079b106ae3a1a39ad7e7cb26fc288e7ca6
[INFO] running `Command { std: "docker" "start" "-a" "2b40fb52c4ad6407788e3b9b42e592079b106ae3a1a39ad7e7cb26fc288e7ca6", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling itoa v1.0.15
[INFO] [stderr]    Compiling zeroize v1.8.1
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling find-msvc-tools v0.1.0
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling ryu v1.0.20
[INFO] [stderr]    Compiling deranged v0.5.3
[INFO] [stderr]    Compiling vsimd v0.8.0
[INFO] [stderr]    Compiling outref v0.5.2
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling time-core v0.1.5
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling aws-lc-rs v1.13.3
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling const-oid v0.9.6
[INFO] [stderr]    Compiling rustls-pki-types v1.12.0
[INFO] [stderr]    Compiling base64ct v1.8.0
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling semver v1.0.26
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling der v0.6.1
[INFO] [stderr]    Compiling rustls v0.23.31
[INFO] [stderr]    Compiling http v1.3.1
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling bytes-utils v0.1.4
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling base64-simd v0.8.0
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling base16ct v0.1.1
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling time v0.3.42
[INFO] [stderr]    Compiling cc v1.2.35
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling indexmap v2.11.0
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling spki v0.6.0
[INFO] [stderr]    Compiling crypto-bigint v0.4.9
[INFO] [stderr]    Compiling ff v0.12.1
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling signature v1.6.4
[INFO] [stderr]    Compiling rustls-native-certs v0.6.3
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling group v0.12.1
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling pkcs8 v0.9.0
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling rustls-native-certs v0.8.1
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling sec1 v0.3.0
[INFO] [stderr]    Compiling litemap v0.8.0
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling writeable v0.6.1
[INFO] [stderr]    Compiling crypto-bigint v0.5.5
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling aws-types v1.3.8
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]    Compiling uuid v1.18.1
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling regex-lite v0.1.7
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling cmake v0.1.54
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling regex-syntax v0.8.6
[INFO] [stderr]    Compiling crc-catalog v2.4.0
[INFO] [stderr]    Compiling xmlparser v0.13.6
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling elliptic-curve v0.12.3
[INFO] [stderr]    Compiling rfc6979 v0.3.1
[INFO] [stderr]    Compiling crc v3.3.0
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]    Compiling anyhow v1.0.99
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling ecdsa v0.14.8
[INFO] [stderr]    Compiling aws-smithy-xml v0.60.10
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling csv-core v0.1.12
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling nu-ansi-term v0.50.1
[INFO] [stderr]    Compiling unicode-id v0.3.5
[INFO] [stderr]    Compiling markdown v1.0.0
[INFO] [stderr]    Compiling p256 v0.11.1
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling aws-lc-sys v0.30.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.20
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling regex-automata v0.4.10
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling sct v0.7.1
[INFO] [stderr]    Compiling rustls-webpki v0.101.7
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling regex v1.11.2
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling zerovec v0.11.4
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling crc-fast v1.3.0
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.3
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling aws-smithy-async v1.2.5
[INFO] [stderr]    Compiling tokio-rustls v0.24.1
[INFO] [stderr]    Compiling aws-smithy-types v1.3.2
[INFO] [stderr]    Compiling h2 v0.4.12
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling rustls-webpki v0.103.4
[INFO] [stderr]    Compiling aws-smithy-runtime-api v1.9.0
[INFO] [stderr]    Compiling aws-smithy-eventstream v0.60.11
[INFO] [stderr]    Compiling aws-smithy-json v0.61.5
[INFO] [stderr]    Compiling aws-smithy-query v0.60.7
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling csv v1.3.1
[INFO] [stderr]    Compiling aws-smithy-http v0.62.3
[INFO] [stderr]    Compiling aws-credential-types v1.2.6
[INFO] [stderr]    Compiling aws-smithy-observability v0.1.3
[INFO] [stderr]    Compiling aws-sigv4 v1.3.4
[INFO] [stderr]    Compiling aws-smithy-checksums v0.63.8
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper v1.7.0
[INFO] [stderr]    Compiling hyper-util v0.1.16
[INFO] [stderr]    Compiling tokio-rustls v0.26.2
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling hyper-rustls v0.24.2
[INFO] [stderr]    Compiling aws-smithy-http-client v1.1.1
[INFO] [stderr]    Compiling aws-smithy-runtime v1.9.1
[INFO] [stderr]    Compiling aws-runtime v1.5.10
[INFO] [stderr]    Compiling aws-sdk-sts v1.85.0
[INFO] [stderr]    Compiling aws-sdk-ssooidc v1.84.0
[INFO] [stderr]    Compiling aws-sdk-sso v1.83.0
[INFO] [stderr]    Compiling aws-sdk-s3 v1.104.0
[INFO] [stderr]    Compiling aws-sdk-bedrockruntime v1.105.0
[INFO] [stderr]    Compiling aws-config v1.8.6
[INFO] [stderr]    Compiling ai-workbench-lib v0.4.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 53s
[INFO] running `Command { std: "docker" "inspect" "2b40fb52c4ad6407788e3b9b42e592079b106ae3a1a39ad7e7cb26fc288e7ca6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2b40fb52c4ad6407788e3b9b42e592079b106ae3a1a39ad7e7cb26fc288e7ca6", kill_on_drop: false }`
[INFO] [stdout] 2b40fb52c4ad6407788e3b9b42e592079b106ae3a1a39ad7e7cb26fc288e7ca6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 05bdbaa21be620d536392a81761e0a10c7727576d131457f4e19180f63a3d494
[INFO] running `Command { std: "docker" "start" "-a" "05bdbaa21be620d536392a81761e0a10c7727576d131457f4e19180f63a3d494", kill_on_drop: false }`
[INFO] [stderr]    Compiling ai-workbench-lib v0.4.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 8.48s
[INFO] running `Command { std: "docker" "inspect" "05bdbaa21be620d536392a81761e0a10c7727576d131457f4e19180f63a3d494", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "05bdbaa21be620d536392a81761e0a10c7727576d131457f4e19180f63a3d494", kill_on_drop: false }`
[INFO] [stdout] 05bdbaa21be620d536392a81761e0a10c7727576d131457f4e19180f63a3d494
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 00f33654c9bea7feeacc7c7fe3f2b92c2d22b86cabad454c2ae49d0261556911
[INFO] running `Command { std: "docker" "start" "-a" "00f33654c9bea7feeacc7c7fe3f2b92c2d22b86cabad454c2ae49d0261556911", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.27s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ai_workbench_lib-ef2dcd3deb1be477)
[INFO] [stdout] 
[INFO] [stdout] running 37 tests
[INFO] [stdout] test modules::file_discovery::file_discovery_tests::test_file_info_structure ... ok
[INFO] [stdout] test modules::file_splitter::splitter::tests::test_invalid_csv_fallback ... ok
[INFO] [stdout] test modules::file_splitter::splitter::tests::test_file_type_detection_by_extension ... ok
[INFO] [stdout] test modules::file_splitter::splitter_types::code_splitter::tests::test_simple_code_splitting ... ok
[INFO] [stdout] test modules::file_splitter::splitter_types::csv_splitter::tests::test_csv_format_validation ... ok
[INFO] [stdout] test modules::file_splitter::splitter_types::csv_splitter::tests::test_csv_multiple_chunks_with_headers ... ok
[INFO] [stdout] test modules::file_splitter::splitter_types::csv_splitter::tests::test_csv_single_chunk ... ok
[INFO] [stdout] test modules::file_splitter::splitter_types::csv_splitter::tests::test_record_boundary_preservation ... ok
[INFO] [stdout] test modules::file_splitter::splitter::tests::test_json_file_splitting ... ok
[INFO] [stdout] test modules::file_splitter::splitter::tests::test_empty_file ... ok
[INFO] [stdout] test modules::file_splitter::splitter_types::csv_splitter::tests::test_tsv_format ... ok
[INFO] [stdout] test modules::file_splitter::splitter_types::json_splitter::tests::test_json_lines_detection ... ok
[INFO] [stdout] test modules::file_splitter::splitter_types::json_splitter::tests::test_json_lines_splitting ... ok
[INFO] [stdout] test modules::file_splitter::splitter_types::code_splitter::tests::test_large_file_splitting ... ok
[INFO] [stdout] test modules::file_splitter::splitter::integration_tests::test_large_csv_file_splitting ... ok
[INFO] [stdout] test modules::file_splitter::splitter_types::text_splitter::tests::test_line_boundary_preservation ... ok
[INFO] [stdout] test modules::file_splitter::splitter_types::text_splitter::tests::test_small_file_single_chunk ... ok
[INFO] [stdout] test modules::file_splitter::splitter_types::text_splitter::tests::test_large_file_multiple_chunks ... ok
[INFO] [stdout] test modules::file_splitter::splitter::tests::test_binary_file_rejection ... FAILED
[INFO] [stdout] test modules::file_splitter::splitter::integration_tests::test_mixed_file_types ... FAILED
[INFO] [stdout] test modules::file_splitter::splitter_types::json_splitter::tests::test_standard_json_detection ... FAILED
[INFO] [stdout] test modules::file_splitter::splitter_types::json_splitter::tests::test_json_array_detection ... FAILED
[INFO] [stdout] test modules::file_splitter::splitter_types::json_splitter::tests::test_invalid_json_rejection ... FAILED
[INFO] [stdout] test modules::file_splitter::splitter::integration_tests::test_edge_cases ... FAILED
[INFO] [stdout] test modules::file_splitter::splitter::integration_tests::test_performance_characteristics ... FAILED
[INFO] [stdout] test modules::file_splitter::splitter::integration_tests::test_large_text_file_splitting ... ok
[INFO] [stdout] [2m2026-03-28T03:00:24.727386Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.727508Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Input spec: 'test-data/'
[INFO] [stdout] [2m2026-03-28T03:00:24.727526Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Workspace bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.727540Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Detected folder input (ends with '/') - processing as folder
[INFO] [stdout] [2m2026-03-28T03:00:24.727552Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === process_folder DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.727562Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Processing folder: 'test-data/'
[INFO] [stdout] [2m2026-03-28T03:00:24.727573Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/test-data/
[INFO] [stdout] [2m2026-03-28T03:00:24.727586Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Making S3 ListObjects request #1
[INFO] [stdout] [2m2026-03-28T03:00:24.727600Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Sending ListObjectsV2 request to S3...
[INFO] [stdout] [2m2026-03-28T03:00:24.728426Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.728630Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Input spec: 'test-data/sample.txt'
[INFO] [stdout] [2m2026-03-28T03:00:24.728796Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Workspace bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.729014Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Detected single file input (no trailing '/') - processing as single file
[INFO] [stdout] [2m2026-03-28T03:00:24.729195Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === process_single_file DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.729321Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Processing single file: 'test-data/sample.txt'
[INFO] [stdout] [2m2026-03-28T03:00:24.729378Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/test-data/sample.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.729418Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Attempting to get file metadata...
[INFO] [stdout] [2m2026-03-28T03:00:24.729451Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === get_file_metadata DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.729499Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Getting metadata for file: 'test-data/sample.txt'
[INFO] [stdout] [2m2026-03-28T03:00:24.729535Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.729575Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/test-data/sample.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.729623Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Sending HEAD request to S3...
[INFO] [stdout] [2m2026-03-28T03:00:24.729738Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.729773Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Input spec: 'text_files/'
[INFO] [stdout] [2m2026-03-28T03:00:24.729785Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Workspace bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.729798Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Detected folder input (ends with '/') - processing as folder
[INFO] [stdout] [2m2026-03-28T03:00:24.729811Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === process_folder DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.729822Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Processing folder: 'text_files/'
[INFO] [stdout] [2m2026-03-28T03:00:24.729832Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/text_files/
[INFO] [stdout] [2m2026-03-28T03:00:24.729846Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Making S3 ListObjects request #1
[INFO] [stdout] [2m2026-03-28T03:00:24.729859Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Sending ListObjectsV2 request to S3...
[INFO] [stdout] [2m2026-03-28T03:00:24.730254Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.730321Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Input spec: 'test-data/sample.txt'
[INFO] [stdout] [2m2026-03-28T03:00:24.730356Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Workspace bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.730390Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Detected single file input (no trailing '/') - processing as single file
[INFO] [stdout] [2m2026-03-28T03:00:24.730433Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === process_single_file DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.730465Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Processing single file: 'test-data/sample.txt'
[INFO] [stdout] [2m2026-03-28T03:00:24.730495Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/test-data/sample.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.730536Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Attempting to get file metadata...
[INFO] [stdout] [2m2026-03-28T03:00:24.730567Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === get_file_metadata DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.729585Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.732932Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Getting metadata for file: 'test-data/sample.txt'
[INFO] [stdout] [2m2026-03-28T03:00:24.732953Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.732959Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Input spec: 'mixed-files/'
[INFO] [stdout] [2m2026-03-28T03:00:24.732966Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/test-data/sample.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.732979Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Sending HEAD request to S3...
[INFO] [stdout] [2m2026-03-28T03:00:24.732977Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Workspace bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.732992Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Detected folder input (ends with '/') - processing as folder
[INFO] [stdout] [2m2026-03-28T03:00:24.733005Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === process_folder DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.733016Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Processing folder: 'mixed-files/'
[INFO] [stdout] [2m2026-03-28T03:00:24.733027Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/mixed-files/
[INFO] [stdout] [2m2026-03-28T03:00:24.733040Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Making S3 ListObjects request #1
[INFO] [stdout] [2m2026-03-28T03:00:24.733053Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Sending ListObjectsV2 request to S3...
[INFO] [stdout] [2m2026-03-28T03:00:24.734288Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m === FILE DISCOVERY DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.734313Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Input specification: 'text_files/sample.txt'
[INFO] [stdout] [2m2026-03-28T03:00:24.734325Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Workspace bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.734369Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Full S3 path would be: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/text_files/sample.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.734386Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m FileDiscovery instance created successfully
[INFO] [stdout] [2m2026-03-28T03:00:24.734399Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Attempting to discover files...
[INFO] [stdout] [2m2026-03-28T03:00:24.734410Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.734422Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Input spec: 'text_files/sample.txt'
[INFO] [stdout] [2m2026-03-28T03:00:24.734432Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Workspace bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.734445Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Detected single file input (no trailing '/') - processing as single file
[INFO] [stdout] [2m2026-03-28T03:00:24.734459Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === process_single_file DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.734472Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Processing single file: 'text_files/sample.txt'
[INFO] [stdout] [2m2026-03-28T03:00:24.734484Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/text_files/sample.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.734497Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Attempting to get file metadata...
[INFO] [stdout] [2m2026-03-28T03:00:24.734522Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === get_file_metadata DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.734532Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Getting metadata for file: 'text_files/sample.txt'
[INFO] [stdout] [2m2026-03-28T03:00:24.734543Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.734554Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/text_files/sample.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.734567Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Sending HEAD request to S3...
[INFO] [stdout] [2m2026-03-28T03:00:24.735252Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Starting job execution for job_id: test-large-e71c9738-465c-42b2-a48d-1f031896ed90
[INFO] [stdout] [2m2026-03-28T03:00:24.735289Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m === FILE DISCOVERY DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.735301Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Input specification: 'large_files/large_document.txt'
[INFO] [stdout] [2m2026-03-28T03:00:24.735312Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Workspace bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.735324Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Full S3 path would be: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/large_files/large_document.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.735338Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m FileDiscovery instance created successfully
[INFO] [stdout] [2m2026-03-28T03:00:24.735348Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Attempting to discover files...
[INFO] [stdout] [2m2026-03-28T03:00:24.735387Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.735399Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Input spec: 'large_files/large_document.txt'
[INFO] [stdout] [2m2026-03-28T03:00:24.735409Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Workspace bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.735422Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Detected single file input (no trailing '/') - processing as single file
[INFO] [stdout] [2m2026-03-28T03:00:24.735454Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === process_single_file DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.735468Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Processing single file: 'large_files/large_document.txt'
[INFO] [stdout] [2m2026-03-28T03:00:24.735478Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/large_files/large_document.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.735492Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Attempting to get file metadata...
[INFO] [stdout] [2m2026-03-28T03:00:24.735524Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === get_file_metadata DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.735541Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Getting metadata for file: 'large_files/large_document.txt'
[INFO] [stdout] [2m2026-03-28T03:00:24.735552Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.735563Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/large_files/large_document.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.735577Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Sending HEAD request to S3...
[INFO] [stdout] [2m2026-03-28T03:00:24.736946Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m S3 HEAD request failed for 'test-data/sample.txt': dispatch failure
[INFO] [stdout] [2m2026-03-28T03:00:24.736970Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: DispatchFailure(DispatchFailure { source: ConnectorError { kind: Other(None), source: CredentialsNotLoaded(CredentialsNotLoaded { source: Some("no providers in chain provided credentials") }), connection: Unknown } })
[INFO] [stdout] [2m2026-03-28T03:00:24.736998Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Possible causes:
[INFO] [stdout] [2m2026-03-28T03:00:24.737008Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. File 'test-data/sample.txt' does not exist in bucket 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.737023Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No read permissions for this file/bucket
[INFO] [stdout] [2m2026-03-28T03:00:24.737034Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. AWS credentials are invalid or expired
[INFO] [stdout] [2m2026-03-28T03:00:24.737045Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Network connectivity issues
[INFO] [stdout] [2m2026-03-28T03:00:24.737056Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   5. S3 service is temporarily unavailable
[INFO] [stdout] [2m2026-03-28T03:00:24.737136Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Failed to get metadata for file 'test-data/sample.txt': Failed to get metadata for test-data/sample.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.737158Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m This usually means:
[INFO] [stdout] [2m2026-03-28T03:00:24.737169Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. File does not exist at s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/test-data/sample.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.737183Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No permissions to access the file
[INFO] [stdout] [2m2026-03-28T03:00:24.737193Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. S3 service is unavailable
[INFO] [stdout] [2m2026-03-28T03:00:24.737203Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Incorrect bucket name or file path
[INFO] [stdout] [2m2026-03-28T03:00:24.737217Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m discover_files failed: Failed to get metadata for single file: test-data/sample.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.737777Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m S3 ListObjectsV2 request failed: dispatch failure
[INFO] [stdout] [2m2026-03-28T03:00:24.737800Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: DispatchFailure(DispatchFailure { source: ConnectorError { kind: Other(None), source: CredentialsNotLoaded(CredentialsNotLoaded { source: Some("no providers in chain provided credentials") }), connection: Unknown } })
[INFO] [stdout] [2m2026-03-28T03:00:24.737825Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Possible causes:
[INFO] [stdout] [2m2026-03-28T03:00:24.737838Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. Folder/prefix 'text_files/' does not exist in bucket 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.737853Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No list permissions for this bucket/prefix
[INFO] [stdout] [2m2026-03-28T03:00:24.737864Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. AWS credentials are invalid or expired
[INFO] [stdout] [2m2026-03-28T03:00:24.737875Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Bucket 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2' does not exist
[INFO] [stdout] [2m2026-03-28T03:00:24.737888Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   5. Network connectivity issues
[INFO] [stdout] [2m2026-03-28T03:00:24.738075Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m === FILE DISCOVERY DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.738099Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Input specification: 'text_files/'
[INFO] [stdout] [2m2026-03-28T03:00:24.738111Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Workspace bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.738123Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Full S3 path would be: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/text_files/
[INFO] [stdout] [2m2026-03-28T03:00:24.738137Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m FileDiscovery instance created successfully
[INFO] [stdout] [2m2026-03-28T03:00:24.738148Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Attempting to discover files...
[INFO] [stdout] [2m2026-03-28T03:00:24.738159Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.738170Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Input spec: 'text_files/'
[INFO] [stdout] [2m2026-03-28T03:00:24.738180Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Workspace bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.738192Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Detected folder input (ends with '/') - processing as folder
[INFO] [stdout] [2m2026-03-28T03:00:24.738206Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === process_folder DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.738217Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Processing folder: 'text_files/'
[INFO] [stdout] [2m2026-03-28T03:00:24.738228Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/text_files/
[INFO] [stdout] [2m2026-03-28T03:00:24.738240Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Making S3 ListObjects request #1
[INFO] [stdout] [2m2026-03-28T03:00:24.738253Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Sending ListObjectsV2 request to S3...
[INFO] [stdout] [2m2026-03-28T03:00:24.738360Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.738394Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Input spec: 'large-dataset/'
[INFO] [stdout] [2m2026-03-28T03:00:24.738405Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Workspace bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.738418Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Detected folder input (ends with '/') - processing as folder
[INFO] [stdout] [2m2026-03-28T03:00:24.738434Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === process_folder DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.738445Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Processing folder: 'large-dataset/'
[INFO] [stdout] [2m2026-03-28T03:00:24.738456Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/large-dataset/
[INFO] [stdout] [2m2026-03-28T03:00:24.738470Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Making S3 ListObjects request #1
[INFO] [stdout] [2m2026-03-28T03:00:24.738484Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Sending ListObjectsV2 request to S3...
[INFO] [stdout] [2m2026-03-28T03:00:24.738554Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m S3 HEAD request failed for 'text_files/sample.txt': dispatch failure
[INFO] [stdout] [2m2026-03-28T03:00:24.738575Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: DispatchFailure(DispatchFailure { source: ConnectorError { kind: Other(None), source: CredentialsNotLoaded(CredentialsNotLoaded { source: Some("no providers in chain provided credentials") }), connection: Unknown } })
[INFO] [stdout] [2m2026-03-28T03:00:24.738600Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Possible causes:
[INFO] [stdout] [2m2026-03-28T03:00:24.738610Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. File 'text_files/sample.txt' does not exist in bucket 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.738625Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No read permissions for this file/bucket
[INFO] [stdout] [2m2026-03-28T03:00:24.738637Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. AWS credentials are invalid or expired
[INFO] [stdout] [2m2026-03-28T03:00:24.738647Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Network connectivity issues
[INFO] [stdout] [2m2026-03-28T03:00:24.738656Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   5. S3 service is temporarily unavailable
[INFO] [stdout] [2m2026-03-28T03:00:24.739041Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m S3 HEAD request failed for 'test-data/sample.txt': dispatch failure
[INFO] [stdout] [2m2026-03-28T03:00:24.739063Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: DispatchFailure(DispatchFailure { source: ConnectorError { kind: Other(None), source: CredentialsNotLoaded(CredentialsNotLoaded { source: Some("no providers in chain provided credentials") }), connection: Unknown } })
[INFO] [stdout] [2m2026-03-28T03:00:24.739087Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Possible causes:
[INFO] [stdout] [2m2026-03-28T03:00:24.739096Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. File 'test-data/sample.txt' does not exist in bucket 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.739110Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No read permissions for this file/bucket
[INFO] [stdout] [2m2026-03-28T03:00:24.739120Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. AWS credentials are invalid or expired
[INFO] [stdout] [2m2026-03-28T03:00:24.739131Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Network connectivity issues
[INFO] [stdout] [2m2026-03-28T03:00:24.739142Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   5. S3 service is temporarily unavailable
[INFO] [stdout] [2m2026-03-28T03:00:24.732145Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m S3 ListObjectsV2 request failed: dispatch failure
[INFO] [stdout] [2m2026-03-28T03:00:24.739875Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m S3 HEAD request failed for 'large_files/large_document.txt': dispatch failure
[INFO] [stdout] [2m2026-03-28T03:00:24.739934Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: DispatchFailure(DispatchFailure { source: ConnectorError { kind: Other(None), source: CredentialsNotLoaded(CredentialsNotLoaded { source: Some("no providers in chain provided credentials") }), connection: Unknown } })
[INFO] [stdout] [2m2026-03-28T03:00:24.739969Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Possible causes:
[INFO] [stdout] [2m2026-03-28T03:00:24.739979Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. Folder/prefix 'test-data/' does not exist in bucket 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.739992Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No list permissions for this bucket/prefix
[INFO] [stdout] [2m2026-03-28T03:00:24.739995Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m S3 ListObjectsV2 request failed: dispatch failure
[INFO] [stdout] [2m2026-03-28T03:00:24.740003Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. AWS credentials are invalid or expired
[INFO] [stdout] [2m2026-03-28T03:00:24.739934Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: DispatchFailure(DispatchFailure { source: ConnectorError { kind: Other(None), source: CredentialsNotLoaded(CredentialsNotLoaded { source: Some("no providers in chain provided credentials") }), connection: Unknown } })
[INFO] [stdout] [2m2026-03-28T03:00:24.740037Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: DispatchFailure(DispatchFailure { source: ConnectorError { kind: Other(None), source: CredentialsNotLoaded(CredentialsNotLoaded { source: Some("no providers in chain provided credentials") }), connection: Unknown } })
[INFO] [stdout] [2m2026-03-28T03:00:24.740067Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Possible causes:
[INFO] [stdout] [2m2026-03-28T03:00:24.740049Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Bucket 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2' does not exist
[INFO] [stdout] [2m2026-03-28T03:00:24.740081Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. File 'large_files/large_document.txt' does not exist in bucket 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.740095Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No read permissions for this file/bucket
[INFO] [stdout] [2m2026-03-28T03:00:24.740101Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   5. Network connectivity issues
[INFO] [stdout] [2m2026-03-28T03:00:24.740105Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. AWS credentials are invalid or expired
[INFO] [stdout] [2m2026-03-28T03:00:24.740078Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Possible causes:
[INFO] [stdout] [2m2026-03-28T03:00:24.740144Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. Folder/prefix 'mixed-files/' does not exist in bucket 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.740160Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No list permissions for this bucket/prefix
[INFO] [stdout] [2m2026-03-28T03:00:24.740170Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. AWS credentials are invalid or expired
[INFO] [stdout] [2m2026-03-28T03:00:24.740180Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Bucket 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2' does not exist
[INFO] [stdout] [2m2026-03-28T03:00:24.740193Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   5. Network connectivity issues
[INFO] [stdout] [2m2026-03-28T03:00:24.740115Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Network connectivity issues
[INFO] [stdout] [2m2026-03-28T03:00:24.740444Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   5. S3 service is temporarily unavailable
[INFO] [stdout] [2m2026-03-28T03:00:24.741080Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m === FILE DISCOVERY DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.741106Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Input specification: 'text_files/0c472776-7c22-464b-93bf-3714fd229b01.txt'
[INFO] [stdout] [2m2026-03-28T03:00:24.741119Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Workspace bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.741132Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Full S3 path would be: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/text_files/0c472776-7c22-464b-93bf-3714fd229b01.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.741147Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m FileDiscovery instance created successfully
[INFO] [stdout] [2m2026-03-28T03:00:24.741158Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Attempting to discover files...
[INFO] [stdout] [2m2026-03-28T03:00:24.741169Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.741180Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Input spec: 'text_files/0c472776-7c22-464b-93bf-3714fd229b01.txt'
[INFO] [stdout] [2m2026-03-28T03:00:24.741191Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Workspace bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.741204Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Detected single file input (no trailing '/') - processing as single file
[INFO] [stdout] [2m2026-03-28T03:00:24.741218Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === process_single_file DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.741228Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Processing single file: 'text_files/0c472776-7c22-464b-93bf-3714fd229b01.txt'
[INFO] [stdout] [2m2026-03-28T03:00:24.741240Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/text_files/0c472776-7c22-464b-93bf-3714fd229b01.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.741255Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Attempting to get file metadata...
[INFO] [stdout] [2m2026-03-28T03:00:24.741293Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === get_file_metadata DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.741305Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Getting metadata for file: 'text_files/0c472776-7c22-464b-93bf-3714fd229b01.txt'
[INFO] [stdout] [2m2026-03-28T03:00:24.741317Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.741329Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/text_files/0c472776-7c22-464b-93bf-3714fd229b01.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.741343Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Sending HEAD request to S3...
[INFO] [stdout] [2m2026-03-28T03:00:24.742157Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Starting job execution for job_id: test-folder-e442ecd8-9138-4285-8602-f1be69feae89
[INFO] [stdout] [2m2026-03-28T03:00:24.742192Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m === FILE DISCOVERY DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.742196Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m S3 ListObjectsV2 request failed: dispatch failure
[INFO] [stdout] [2m2026-03-28T03:00:24.742206Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Input specification: 'text_files/'
[INFO] [stdout] [2m2026-03-28T03:00:24.742239Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: DispatchFailure(DispatchFailure { source: ConnectorError { kind: Other(None), source: CredentialsNotLoaded(CredentialsNotLoaded { source: Some("no providers in chain provided credentials") }), connection: Unknown } })
[INFO] [stdout] [2m2026-03-28T03:00:24.742256Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Workspace bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.742262Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Possible causes:
[INFO] [stdout] [2m2026-03-28T03:00:24.742269Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Full S3 path would be: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/text_files/
[INFO] [stdout] [2m2026-03-28T03:00:24.742271Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. Folder/prefix 'text_files/' does not exist in bucket 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.742282Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m FileDiscovery instance created successfully
[INFO] [stdout] [2m2026-03-28T03:00:24.742284Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No list permissions for this bucket/prefix
[INFO] [stdout] [2m2026-03-28T03:00:24.742292Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Attempting to discover files...
[INFO] [stdout] [2m2026-03-28T03:00:24.742294Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. AWS credentials are invalid or expired
[INFO] [stdout] [2m2026-03-28T03:00:24.742304Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Bucket 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2' does not exist
[INFO] [stdout] [2m2026-03-28T03:00:24.742315Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   5. Network connectivity issues
[INFO] [stdout] [2m2026-03-28T03:00:24.742323Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.742337Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Input spec: 'text_files/'
[INFO] [stdout] [2m2026-03-28T03:00:24.742346Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Workspace bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.742358Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Detected folder input (ends with '/') - processing as folder
[INFO] [stdout] [2m2026-03-28T03:00:24.742398Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === process_folder DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.742433Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Processing folder: 'text_files/'
[INFO] [stdout] [2m2026-03-28T03:00:24.742445Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/text_files/
[INFO] [stdout] [2m2026-03-28T03:00:24.742469Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Making S3 ListObjects request #1
[INFO] [stdout] [2m2026-03-28T03:00:24.742483Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Sending ListObjectsV2 request to S3...
[INFO] [stdout] [2m2026-03-28T03:00:24.746432Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m S3 ListObjectsV2 request failed: dispatch failure
[INFO] [stdout] [2m2026-03-28T03:00:24.746528Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: DispatchFailure(DispatchFailure { source: ConnectorError { kind: Other(None), source: CredentialsNotLoaded(CredentialsNotLoaded { source: Some("no providers in chain provided credentials") }), connection: Unknown } })
[INFO] [stdout] [2m2026-03-28T03:00:24.746580Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Possible causes:
[INFO] [stdout] [2m2026-03-28T03:00:24.746614Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. Folder/prefix 'text_files/' does not exist in bucket 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.746650Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No list permissions for this bucket/prefix
[INFO] [stdout] [2m2026-03-28T03:00:24.746688Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. AWS credentials are invalid or expired
[INFO] [stdout] [2m2026-03-28T03:00:24.746716Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Bucket 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2' does not exist
[INFO] [stdout] [2m2026-03-28T03:00:24.746746Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   5. Network connectivity issues
[INFO] [stdout] [2m2026-03-28T03:00:24.752027Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m discover_files failed: Failed to list objects in S3
[INFO] [stdout] [2m2026-03-28T03:00:24.752154Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m discover_files failed: Failed to list objects in S3
[INFO] [stdout] [2m2026-03-28T03:00:24.752220Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Failed to get metadata for file 'test-data/sample.txt': Failed to get metadata for test-data/sample.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.752242Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m This usually means:
[INFO] [stdout] [2m2026-03-28T03:00:24.752251Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. File does not exist at s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/test-data/sample.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.752271Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No permissions to access the file
[INFO] [stdout] [2m2026-03-28T03:00:24.752281Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. S3 service is unavailable
[INFO] [stdout] [2m2026-03-28T03:00:24.752296Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Incorrect bucket name or file path
[INFO] [stdout] [2m2026-03-28T03:00:24.752308Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m discover_files failed: Failed to get metadata for single file: test-data/sample.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.752352Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Failed to get metadata for file 'text_files/sample.txt': Failed to get metadata for text_files/sample.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.752371Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m This usually means:
[INFO] [stdout] [2m2026-03-28T03:00:24.752381Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. File does not exist at s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/text_files/sample.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.752393Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No permissions to access the file
[INFO] [stdout] [2m2026-03-28T03:00:24.752434Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. S3 service is unavailable
[INFO] [stdout] [2m2026-03-28T03:00:24.752443Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Incorrect bucket name or file path
[INFO] [stdout] [2m2026-03-28T03:00:24.752461Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m discover_files failed: Failed to get metadata for single file: text_files/sample.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.752516Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m S3 HEAD request failed for 'text_files/0c472776-7c22-464b-93bf-3714fd229b01.txt': dispatch failure
[INFO] [stdout] [2m2026-03-28T03:00:24.756484Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: DispatchFailure(DispatchFailure { source: ConnectorError { kind: Other(None), source: CredentialsNotLoaded(CredentialsNotLoaded { source: Some("no providers in chain provided credentials") }), connection: Unknown } })
[INFO] [stdout] [2m2026-03-28T03:00:24.756598Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Possible causes:
[INFO] [stdout] [2m2026-03-28T03:00:24.753050Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m discover_files failed: Failed to list objects in S3
[INFO] [stdout] [2m2026-03-28T03:00:24.753256Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m discover_files failed: Failed to list objects in S3
[INFO] [stdout] [2m2026-03-28T03:00:24.756636Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. File 'text_files/0c472776-7c22-464b-93bf-3714fd229b01.txt' does not exist in bucket 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.752133Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: Failed to list objects in S3
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     S3 ListObjectsV2 failed for folder 'text_files/': dispatch failure
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error>::msg::<alloc::string::String>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::process_folder::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:157:32
[INFO] [stdout]    2: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:31:45
[INFO] [stdout]    3: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_folder_discovery::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:470:60
[INFO] [stdout]    4: <core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    5: <core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    6: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]    7: tokio::task::coop::with_budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    8: tokio::task::coop::budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]    9: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   10: <tokio::runtime::scheduler::current_thread::Context>::enter::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   11: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   12: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   13: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   14: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   15: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   16: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   17: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   18: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   19: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   20: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   21: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   22: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   23: <tokio::runtime::runtime::Runtime>::block_on_inner::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   24: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   25: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_folder_discovery
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:472:22
[INFO] [stdout]   26: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_folder_discovery::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:462:37
[INFO] [stdout]   27: <ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_folder_discovery::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   28: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   29: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   30: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   31: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   32: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   33: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   34: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   35: test::run_test_in_process
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   36: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   37: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   38: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   39: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   40: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   41: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   42: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   43: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   44: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   45: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   47: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   48: <unknown>
[INFO] [stdout]   49: clone
[INFO] [stdout] [2m2026-03-28T03:00:24.756687Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No read permissions for this file/bucket
[INFO] [stdout] [2m2026-03-28T03:00:24.737231Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: Failed to get metadata for single file: test-data/sample.txt
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     0: Failed to get metadata for test-data/sample.txt
[INFO] [stdout]     1: S3 HEAD request failed for 'test-data/sample.txt': dispatch failure
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error>::msg::<alloc::string::String>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::get_file_metadata::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:267:28
[INFO] [stdout]    2: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::process_single_file::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:59:64
[INFO] [stdout]    3: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:35:50
[INFO] [stdout]    4: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_single_file_discovery::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:441:62
[INFO] [stdout]    5: <core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    6: <core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    7: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]    8: tokio::task::coop::with_budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    9: tokio::task::coop::budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   10: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   11: <tokio::runtime::scheduler::current_thread::Context>::enter::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   12: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   13: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   14: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   15: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   16: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   17: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   18: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   19: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   20: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   21: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   22: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   23: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   24: <tokio::runtime::runtime::Runtime>::block_on_inner::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   25: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   26: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_single_file_discovery
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:443:22
[INFO] [stdout]   27: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_single_file_discovery::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:433:42
[INFO] [stdout]   28: <ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_single_file_discovery::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   29: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   31: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   32: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   33: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   34: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   35: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   36: test::run_test_in_process
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   37: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   38: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   39: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   40: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   41: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   42: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   43: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   44: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   45: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   46: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   48: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   49: <unknown>
[INFO] [stdout]   50: clone
[INFO] [stdout] [2m2026-03-28T03:00:24.756741Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG END ===
[INFO] [stdout] [2m2026-03-28T03:00:24.756439Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m S3 ListObjectsV2 request failed: dispatch failure
[INFO] [stdout] [2m2026-03-28T03:00:24.752863Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Failed to get metadata for file 'large_files/large_document.txt': Failed to get metadata for large_files/large_document.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.756810Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m This usually means:
[INFO] [stdout] [2m2026-03-28T03:00:24.756824Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. File does not exist at s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/large_files/large_document.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.756839Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No permissions to access the file
[INFO] [stdout] [2m2026-03-28T03:00:24.756849Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. S3 service is unavailable
[INFO] [stdout] [2m2026-03-28T03:00:24.756859Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Incorrect bucket name or file path
[INFO] [stdout] [2m2026-03-28T03:00:24.756876Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m discover_files failed: Failed to get metadata for single file: large_files/large_document.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.757523Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG END ===
[INFO] [stdout] [2m2026-03-28T03:00:24.756684Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: Failed to list objects in S3
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     S3 ListObjectsV2 failed for folder 'mixed-files/': dispatch failure
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error>::msg::<alloc::string::String>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::process_folder::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:157:32
[INFO] [stdout]    2: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:31:45
[INFO] [stdout]    3: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_filtering::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:588:61
[INFO] [stdout]    4: <core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    5: <core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    6: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]    7: tokio::task::coop::with_budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    8: tokio::task::coop::budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]    9: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   10: <tokio::runtime::scheduler::current_thread::Context>::enter::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   11: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   12: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   13: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   14: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   15: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   16: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   17: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   18: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   19: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   20: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   21: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   22: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   23: <tokio::runtime::runtime::Runtime>::block_on_inner::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   24: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   25: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_filtering
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:590:22
[INFO] [stdout]   26: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_filtering::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:580:35
[INFO] [stdout]   27: <ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_filtering::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   28: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   29: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   30: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   31: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   32: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   33: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   34: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   35: test::run_test_in_process
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   36: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   37: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   38: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   39: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   40: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   41: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   42: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   43: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   44: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   45: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   47: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   48: <unknown>
[INFO] [stdout]   49: clone
[INFO] [stdout] [2m2026-03-28T03:00:24.757910Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG END ===
[INFO] [stdout] [2m2026-03-28T03:00:24.752183Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: Failed to list objects in S3
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     S3 ListObjectsV2 failed for folder 'test-data/': dispatch failure
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error>::msg::<alloc::string::String>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::process_folder::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:157:32
[INFO] [stdout]    2: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:31:45
[INFO] [stdout]    3: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_processing_summary::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:621:60
[INFO] [stdout]    4: <core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    5: <core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    6: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]    7: tokio::task::coop::with_budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    8: tokio::task::coop::budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]    9: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   10: <tokio::runtime::scheduler::current_thread::Context>::enter::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   11: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   12: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   13: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   14: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   15: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   16: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   17: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   18: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   19: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   20: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   21: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   22: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   23: <tokio::runtime::runtime::Runtime>::block_on_inner::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   24: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   25: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_processing_summary
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:623:22
[INFO] [stdout]   26: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_processing_summary::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:614:39
[INFO] [stdout]   27: <ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_processing_summary::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   28: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   29: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   30: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   31: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   32: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   33: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   34: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   35: test::run_test_in_process
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   36: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   37: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   38: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   39: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   40: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   41: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   42: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   43: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   44: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   45: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   47: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   48: <unknown>
[INFO] [stdout]   49: clone
[INFO] [stdout] [2m2026-03-28T03:00:24.757951Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG END ===
[INFO] [stdout] test modules::file_discovery::file_discovery_tests::test_single_file_discovery ... ok
[INFO] [stdout] test modules::file_discovery::file_discovery_tests::test_folder_discovery ... ok
[INFO] [stdout] [2m2026-03-28T03:00:24.756914Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: Failed to get metadata for single file: large_files/large_document.txt
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     0: Failed to get metadata for large_files/large_document.txt
[INFO] [stdout]     1: S3 HEAD request failed for 'large_files/large_document.txt': dispatch failure
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error>::msg::<alloc::string::String>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::get_file_metadata::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:267:28
[INFO] [stdout]    2: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::process_single_file::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:59:64
[INFO] [stdout]    3: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:35:50
[INFO] [stdout]    4: <ai_workbench_lib::modules::job_processor::core::JobProcessor>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:102:83
[INFO] [stdout]    5: <ai_workbench_lib::modules::job_processor::core::JobProcessor>::run::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:57:43
[INFO] [stdout]    6: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_with_large_file::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:882:31
[INFO] [stdout]    7: <core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    8: <core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    9: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]   10: tokio::task::coop::with_budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]   11: tokio::task::coop::budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   12: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   13: <tokio::runtime::scheduler::current_thread::Context>::enter::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   14: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   15: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   16: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   17: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   18: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   19: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   20: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   21: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   22: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   23: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   24: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   25: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   26: <tokio::runtime::runtime::Runtime>::block_on_inner::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   27: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   28: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_with_large_file
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:882:37
[INFO] [stdout]   29: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_with_large_file::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:854:50
[INFO] [stdout]   30: <ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_with_large_file::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   31: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   32: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   33: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   34: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   38: test::run_test_in_process
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   39: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   40: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   41: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   42: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   43: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   44: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   45: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   46: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   47: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   48: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   49: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   50: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   51: <unknown>
[INFO] [stdout]   52: clone
[INFO] [stdout] [2m2026-03-28T03:00:24.758417Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG END ===
[INFO] [stdout] [2m2026-03-28T03:00:24.752324Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: Failed to get metadata for single file: test-data/sample.txt
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     0: Failed to get metadata for test-data/sample.txt
[INFO] [stdout]     1: S3 HEAD request failed for 'test-data/sample.txt': dispatch failure
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error>::msg::<alloc::string::String>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::get_file_metadata::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:267:28
[INFO] [stdout]    2: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::process_single_file::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:59:64
[INFO] [stdout]    3: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:35:50
[INFO] [stdout]    4: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:516:61
[INFO] [stdout]    5: <core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    6: <core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    7: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]    8: tokio::task::coop::with_budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    9: tokio::task::coop::budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   10: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   11: <tokio::runtime::scheduler::current_thread::Context>::enter::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   12: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   13: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   14: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   15: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   16: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   17: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   18: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   19: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   20: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   21: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   22: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   23: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   24: <tokio::runtime::runtime::Runtime>::block_on_inner::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   25: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   26: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:515:36
[INFO] [stdout]   27: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:498:40
[INFO] [stdout]   28: <ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   29: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   31: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   32: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   33: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   34: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   35: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   36: test::run_test_in_process
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   37: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   38: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   39: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   40: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   41: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   42: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   43: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   44: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   45: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   46: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   48: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   49: <unknown>
[INFO] [stdout]   50: clone
[INFO] [stdout] [2m2026-03-28T03:00:24.758443Z[0m [31mERROR[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m File discovery failed with error: Failed to get metadata for single file: large_files/large_document.txt
[INFO] [stdout] test modules::file_discovery::file_discovery_tests::test_file_filtering ... ok
[INFO] [stdout] [2m2026-03-28T03:00:24.758463Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG END ===
[INFO] [stdout] [2m2026-03-28T03:00:24.761465Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.761484Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Input spec: 'test-data/data.csv'
[INFO] [stdout] [2m2026-03-28T03:00:24.761495Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Workspace bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.761509Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Detected single file input (no trailing '/') - processing as single file
[INFO] [stdout] [2m2026-03-28T03:00:24.761524Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === process_single_file DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.761535Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Processing single file: 'test-data/data.csv'
[INFO] [stdout] [2m2026-03-28T03:00:24.761545Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/test-data/data.csv
[INFO] [stdout] [2m2026-03-28T03:00:24.761558Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Attempting to get file metadata...
[INFO] [stdout] [2m2026-03-28T03:00:24.761571Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === get_file_metadata DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.761582Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Getting metadata for file: 'test-data/data.csv'
[INFO] [stdout] [2m2026-03-28T03:00:24.761592Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.761604Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/test-data/data.csv
[INFO] [stdout] [2m2026-03-28T03:00:24.761617Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Sending HEAD request to S3...
[INFO] [stdout] [2m2026-03-28T03:00:24.761382Z[0m [31mERROR[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Error context: Failed to get metadata for single file: large_files/large_document.txt
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     0: Failed to get metadata for large_files/large_document.txt
[INFO] [stdout]     1: S3 HEAD request failed for 'large_files/large_document.txt': dispatch failure
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error>::msg::<alloc::string::String>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::get_file_metadata::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:267:28
[INFO] [stdout]    2: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::process_single_file::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:59:64
[INFO] [stdout]    3: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:35:50
[INFO] [stdout]    4: <ai_workbench_lib::modules::job_processor::core::JobProcessor>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:102:83
[INFO] [stdout]    5: <ai_workbench_lib::modules::job_processor::core::JobProcessor>::run::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:57:43
[INFO] [stdout]    6: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_with_large_file::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:882:31
[INFO] [stdout]    7: <core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    8: <core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    9: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]   10: tokio::task::coop::with_budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]   11: tokio::task::coop::budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   12: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   13: <tokio::runtime::scheduler::current_thread::Context>::enter::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   14: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   15: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   16: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   17: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   18: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   19: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   20: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   21: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   22: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   23: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   24: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   25: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   26: <tokio::runtime::runtime::Runtime>::block_on_inner::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   27: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   28: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_with_large_file
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:882:37
[INFO] [stdout]   29: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_with_large_file::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:854:50
[INFO] [stdout]   30: <ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_with_large_file::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   31: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   32: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   33: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   34: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   38: test::run_test_in_process
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   39: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   40: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   41: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   42: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   43: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   44: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   45: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   46: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   47: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   48: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   49: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   50: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   51: <unknown>
[INFO] [stdout]   52: clone
[INFO] [stdout] [2m2026-03-28T03:00:24.762496Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m === FILE DISCOVERY DEBUG END (FAILED) ===
[INFO] [stdout] [2m2026-03-28T03:00:24.764391Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m S3 HEAD request failed for 'test-data/data.csv': dispatch failure
[INFO] [stdout] [2m2026-03-28T03:00:24.758410Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: Failed to list objects in S3
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     S3 ListObjectsV2 failed for folder 'text_files/': dispatch failure
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error>::msg::<alloc::string::String>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::process_folder::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:157:32
[INFO] [stdout]    2: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:31:45
[INFO] [stdout]    3: <ai_workbench_lib::modules::job_processor::core::JobProcessor>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:102:83
[INFO] [stdout]    4: <ai_workbench_lib::modules::job_processor::core::JobProcessor>::run::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:57:43
[INFO] [stdout]    5: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_folder_end_to_end::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:787:31
[INFO] [stdout]    6: <core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    7: <core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    8: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]    9: tokio::task::coop::with_budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]   10: tokio::task::coop::budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   11: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   12: <tokio::runtime::scheduler::current_thread::Context>::enter::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   13: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   14: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   15: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   16: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   17: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   18: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   19: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   20: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   21: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   22: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   23: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   24: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   25: <tokio::runtime::runtime::Runtime>::block_on_inner::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   26: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   27: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_folder_end_to_end
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:787:37
[INFO] [stdout]   28: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_folder_end_to_end::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:759:52
[INFO] [stdout]   29: <ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_folder_end_to_end::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   31: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   32: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   33: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   34: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   35: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   36: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   37: test::run_test_in_process
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   38: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   39: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   40: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   41: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   42: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   43: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   44: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   45: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   46: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   47: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   48: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   49: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   50: <unknown>
[INFO] [stdout]   51: clone
[INFO] [stdout] [2m2026-03-28T03:00:24.764495Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: DispatchFailure(DispatchFailure { source: ConnectorError { kind: Other(None), source: CredentialsNotLoaded(CredentialsNotLoaded { source: Some("no providers in chain provided credentials") }), connection: Unknown } })
[INFO] [stdout] [2m2026-03-28T03:00:24.752966Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m discover_files failed: Failed to list objects in S3
[INFO] [stdout] [2m2026-03-28T03:00:24.764523Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Possible causes:
[INFO] [stdout] [2m2026-03-28T03:00:24.764533Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. File 'test-data/data.csv' does not exist in bucket 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.764547Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No read permissions for this file/bucket
[INFO] [stdout] [2m2026-03-28T03:00:24.764556Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. AWS credentials are invalid or expired
[INFO] [stdout] [2m2026-03-28T03:00:24.764566Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Network connectivity issues
[INFO] [stdout] [2m2026-03-28T03:00:24.764574Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   5. S3 service is temporarily unavailable
[INFO] [stdout] [2m2026-03-28T03:00:24.764855Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Failed to get metadata for file 'test-data/data.csv': Failed to get metadata for test-data/data.csv
[INFO] [stdout] [2m2026-03-28T03:00:24.764904Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m This usually means:
[INFO] [stdout] [2m2026-03-28T03:00:24.764915Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. File does not exist at s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/test-data/data.csv
[INFO] [stdout] [2m2026-03-28T03:00:24.764928Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No permissions to access the file
[INFO] [stdout] [2m2026-03-28T03:00:24.764937Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. S3 service is unavailable
[INFO] [stdout] [2m2026-03-28T03:00:24.764946Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Incorrect bucket name or file path
[INFO] [stdout] [2m2026-03-28T03:00:24.764958Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m discover_files failed: Failed to get metadata for single file: test-data/data.csv
[INFO] [stdout] [2m2026-03-28T03:00:24.764537Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: Failed to list objects in S3
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     S3 ListObjectsV2 failed for folder 'text_files/': dispatch failure
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error>::msg::<alloc::string::String>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::process_folder::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:157:32
[INFO] [stdout]    2: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:31:45
[INFO] [stdout]    3: <ai_workbench_lib::modules::job_processor::core::JobProcessor>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:102:83
[INFO] [stdout]    4: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_file_discovery::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:955:42
[INFO] [stdout]    5: <core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    6: <core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    7: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]    8: tokio::task::coop::with_budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    9: tokio::task::coop::budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   10: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   11: <tokio::runtime::scheduler::current_thread::Context>::enter::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   12: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   13: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   14: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   15: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   16: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   17: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   18: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   19: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   20: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   21: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   22: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   23: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   24: <tokio::runtime::runtime::Runtime>::block_on_inner::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   25: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   26: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_file_discovery
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:955:48
[INFO] [stdout]   27: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_file_discovery::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:930:49
[INFO] [stdout]   28: <ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_file_discovery::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   29: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   31: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   32: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   33: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   34: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   35: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   36: test::run_test_in_process
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   37: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   38: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   39: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   40: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   41: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   42: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   43: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   44: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   45: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   46: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   48: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   49: <unknown>
[INFO] [stdout]   50: clone
[INFO] [stdout] [2m2026-03-28T03:00:24.765842Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG END ===
[INFO] [stdout] [2m2026-03-28T03:00:24.765858Z[0m [31mERROR[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m File discovery failed with error: Failed to list objects in S3
[INFO] [stdout] [2m2026-03-28T03:00:24.764970Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: Failed to get metadata for single file: test-data/data.csv
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     0: Failed to get metadata for test-data/data.csv
[INFO] [stdout]     1: S3 HEAD request failed for 'test-data/data.csv': dispatch failure
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error>::msg::<alloc::string::String>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::get_file_metadata::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:267:28
[INFO] [stdout]    2: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::process_single_file::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:59:64
[INFO] [stdout]    3: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:35:50
[INFO] [stdout]    4: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:516:61
[INFO] [stdout]    5: <core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    6: <core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    7: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]    8: tokio::task::coop::with_budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    9: tokio::task::coop::budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   10: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   11: <tokio::runtime::scheduler::current_thread::Context>::enter::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   12: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   13: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   14: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   15: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   16: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   17: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   18: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   19: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   20: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   21: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   22: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   23: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   24: <tokio::runtime::runtime::Runtime>::block_on_inner::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   25: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   26: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:515:36
[INFO] [stdout]   27: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:498:40
[INFO] [stdout]   28: <ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   29: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   31: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   32: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   33: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   34: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   35: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   36: test::run_test_in_process
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   37: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   38: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   39: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   40: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   41: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   42: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   43: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   44: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   45: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   46: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   48: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   49: <unknown>
[INFO] [stdout]   50: clone
[INFO] [stdout] [2m2026-03-28T03:00:24.766159Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG END ===
[INFO] [stdout] [2m2026-03-28T03:00:24.766188Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.766198Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Input spec: 'test-data/config.json'
[INFO] [stdout] [2m2026-03-28T03:00:24.766207Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Workspace bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.766219Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Detected single file input (no trailing '/') - processing as single file
[INFO] [stdout] [2m2026-03-28T03:00:24.766231Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === process_single_file DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.766241Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Processing single file: 'test-data/config.json'
[INFO] [stdout] [2m2026-03-28T03:00:24.766251Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/test-data/config.json
[INFO] [stdout] [2m2026-03-28T03:00:24.766263Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Attempting to get file metadata...
[INFO] [stdout] [2m2026-03-28T03:00:24.766274Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === get_file_metadata DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.766283Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Getting metadata for file: 'test-data/config.json'
[INFO] [stdout] [2m2026-03-28T03:00:24.766293Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.766304Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/test-data/config.json
[INFO] [stdout] [2m2026-03-28T03:00:24.766316Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Sending HEAD request to S3...
[INFO] [stdout] [2m2026-03-28T03:00:24.765871Z[0m [31mERROR[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Error context: Failed to list objects in S3
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     S3 ListObjectsV2 failed for folder 'text_files/': dispatch failure
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error>::msg::<alloc::string::String>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::process_folder::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:157:32
[INFO] [stdout]    2: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:31:45
[INFO] [stdout]    3: <ai_workbench_lib::modules::job_processor::core::JobProcessor>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:102:83
[INFO] [stdout]    4: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_file_discovery::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:955:42
[INFO] [stdout]    5: <core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    6: <core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    7: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]    8: tokio::task::coop::with_budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    9: tokio::task::coop::budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   10: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   11: <tokio::runtime::scheduler::current_thread::Context>::enter::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   12: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   13: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   14: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   15: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   16: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   17: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   18: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   19: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   20: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   21: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   22: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   23: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   24: <tokio::runtime::runtime::Runtime>::block_on_inner::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   25: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   26: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_file_discovery
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:955:48
[INFO] [stdout]   27: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_file_discovery::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:930:49
[INFO] [stdout]   28: <ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_file_discovery::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   29: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   31: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   32: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   33: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   34: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   35: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   36: test::run_test_in_process
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   37: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   38: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   39: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   40: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   41: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   42: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   43: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   44: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   45: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   46: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   48: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   49: <unknown>
[INFO] [stdout]   50: clone
[INFO] [stdout] [2m2026-03-28T03:00:24.766942Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m === FILE DISCOVERY DEBUG END (FAILED) ===
[INFO] [stdout] [2m2026-03-28T03:00:24.761319Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: DispatchFailure(DispatchFailure { source: ConnectorError { kind: Other(None), source: CredentialsNotLoaded(CredentialsNotLoaded { source: Some("no providers in chain provided credentials") }), connection: Unknown } })
[INFO] [stdout] [2m2026-03-28T03:00:24.767826Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Possible causes:
[INFO] [stdout] [2m2026-03-28T03:00:24.767844Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. Folder/prefix 'large-dataset/' does not exist in bucket 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.767860Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No list permissions for this bucket/prefix
[INFO] [stdout] [2m2026-03-28T03:00:24.767871Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. AWS credentials are invalid or expired
[INFO] [stdout] [2m2026-03-28T03:00:24.767882Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Bucket 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2' does not exist
[INFO] [stdout] [2m2026-03-28T03:00:24.767912Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   5. Network connectivity issues
[INFO] [stdout] [2m2026-03-28T03:00:24.767976Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m discover_files failed: Failed to list objects in S3
[INFO] [stdout] [2m2026-03-28T03:00:24.768403Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m S3 HEAD request failed for 'test-data/config.json': dispatch failure
[INFO] [stdout] [2m2026-03-28T03:00:24.756713Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. AWS credentials are invalid or expired
[INFO] [stdout] [2m2026-03-28T03:00:24.768425Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: DispatchFailure(DispatchFailure { source: ConnectorError { kind: Other(None), source: CredentialsNotLoaded(CredentialsNotLoaded { source: Some("no providers in chain provided credentials") }), connection: Unknown } })
[INFO] [stdout] test modules::file_discovery::file_discovery_tests::test_processing_summary ... [2m2026-03-28T03:00:24.768450Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Possible causes:
[INFO] [stdout] [2m2026-03-28T03:00:24.752482Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: Failed to get metadata for single file: text_files/sample.txt
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     0: Failed to get metadata for text_files/sample.txt
[INFO] [stdout]     1: S3 HEAD request failed for 'text_files/sample.txt': dispatch failure
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error>::msg::<alloc::string::String>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::get_file_metadata::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:267:28
[INFO] [stdout]    2: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::process_single_file::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:59:64
[INFO] [stdout]    3: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:35:50
[INFO] [stdout]    4: <ai_workbench_lib::modules::job_processor::core::JobProcessor>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:102:83
[INFO] [stdout]    5: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_config_validation::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:1024:46
[INFO] [stdout]    6: <core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    7: <core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    8: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]    9: tokio::task::coop::with_budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]   10: tokio::task::coop::budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   11: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   12: <tokio::runtime::scheduler::current_thread::Context>::enter::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   13: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   14: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   15: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   16: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   17: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   18: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   19: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   20: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   21: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   22: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   23: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   24: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   25: <tokio::runtime::runtime::Runtime>::block_on_inner::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   26: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   27: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_config_validation
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:1017:31
[INFO] [stdout]   28: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_config_validation::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:980:52
[INFO] [stdout]   29: <ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_config_validation::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   31: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   32: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   33: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   34: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   35: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   36: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   37: test::run_test_in_process
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   38: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   39: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   40: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   41: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   42: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   43: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   44: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   45: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   46: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   47: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   48: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   49: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   50: <unknown>
[INFO] [stdout]   51: clone
[INFO] [stdout] [2m2026-03-28T03:00:24.768540Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG END ===
[INFO] [stdout] [2m2026-03-28T03:00:24.768459Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. File 'test-data/config.json' does not exist in bucket 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.768591Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No read permissions for this file/bucket
[INFO] [stdout] [2m2026-03-28T03:00:24.768603Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. AWS credentials are invalid or expired
[INFO] [stdout] [2m2026-03-28T03:00:24.768613Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Network connectivity issues
[INFO] [stdout] [2m2026-03-28T03:00:24.768622Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   5. S3 service is temporarily unavailable
[INFO] [stdout] [2m2026-03-28T03:00:24.768682Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Failed to get metadata for file 'test-data/config.json': Failed to get metadata for test-data/config.json
[INFO] [stdout] [2m2026-03-28T03:00:24.768696Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m This usually means:
[INFO] [stdout] [2m2026-03-28T03:00:24.768705Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. File does not exist at s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/test-data/config.json
[INFO] [stdout] [2m2026-03-28T03:00:24.768718Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No permissions to access the file
[INFO] [stdout] [2m2026-03-28T03:00:24.768727Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. S3 service is unavailable
[INFO] [stdout] [2m2026-03-28T03:00:24.768736Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Incorrect bucket name or file path
[INFO] [stdout] [2m2026-03-28T03:00:24.768746Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m discover_files failed: Failed to get metadata for single file: test-data/config.json
[INFO] [stdout] [2m2026-03-28T03:00:24.767992Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: Failed to list objects in S3
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     S3 ListObjectsV2 failed for folder 'large-dataset/': dispatch failure
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error>::msg::<alloc::string::String>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::process_folder::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:157:32
[INFO] [stdout]    2: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:31:45
[INFO] [stdout]    3: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_large_folder_discovery::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:551:61
[INFO] [stdout]    4: <core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    5: <core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    6: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]    7: tokio::task::coop::with_budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    8: tokio::task::coop::budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]    9: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   10: <tokio::runtime::scheduler::current_thread::Context>::enter::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   11: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   12: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   13: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   14: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   15: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   16: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   17: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   18: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   19: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   20: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   21: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   22: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   23: <tokio::runtime::runtime::Runtime>::block_on_inner::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   24: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   25: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_large_folder_discovery
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:553:22
[INFO] [stdout]   26: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_large_folder_discovery::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:543:43
[INFO] [stdout]   27: <ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_large_folder_discovery::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   28: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   29: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   30: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   31: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   32: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   33: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   34: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   35: test::run_test_in_process
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   36: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   37: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   38: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   39: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   40: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   41: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   42: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   43: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   44: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   45: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   47: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   48: <unknown>
[INFO] [stdout]   49: clone
[INFO] [stdout] [2m2026-03-28T03:00:24.769278Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG END ===
[INFO] [stdout] [2m2026-03-28T03:00:24.769776Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG END ===
[INFO] [stdout] [2m2026-03-28T03:00:24.769795Z[0m [31mERROR[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m File discovery failed with error: Failed to list objects in S3
[INFO] [stdout] [2m2026-03-28T03:00:24.768758Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: Failed to get metadata for single file: test-data/config.json
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     0: Failed to get metadata for test-data/config.json
[INFO] [stdout]     1: S3 HEAD request failed for 'test-data/config.json': dispatch failure
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error>::msg::<alloc::string::String>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::get_file_metadata::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:267:28
[INFO] [stdout]    2: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::process_single_file::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:59:64
[INFO] [stdout]    3: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:35:50
[INFO] [stdout]    4: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:516:61
[INFO] [stdout]    5: <core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    6: <core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    7: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]    8: tokio::task::coop::with_budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    9: tokio::task::coop::budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   10: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   11: <tokio::runtime::scheduler::current_thread::Context>::enter::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   12: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   13: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   14: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   15: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   16: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   17: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   18: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   19: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   20: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   21: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   22: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   23: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   24: <tokio::runtime::runtime::Runtime>::block_on_inner::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   25: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   26: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:515:36
[INFO] [stdout]   27: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:498:40
[INFO] [stdout]   28: <ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   29: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   31: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   32: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   33: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   34: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   35: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   36: test::run_test_in_process
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   37: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   38: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   39: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   40: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   41: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   42: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   43: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   44: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   45: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   46: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   48: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   49: <unknown>
[INFO] [stdout]   50: clone
[INFO] [stdout] [2m2026-03-28T03:00:24.769931Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG END ===
[INFO] [stdout] [2m2026-03-28T03:00:24.769960Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.769971Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Input spec: 'test-data/document.md'
[INFO] [stdout] [2m2026-03-28T03:00:24.769981Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Workspace bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.769993Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Detected single file input (no trailing '/') - processing as single file
[INFO] [stdout] [2m2026-03-28T03:00:24.770005Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === process_single_file DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.770015Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Processing single file: 'test-data/document.md'
[INFO] [stdout] [2m2026-03-28T03:00:24.770025Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/test-data/document.md
[INFO] [stdout] [2m2026-03-28T03:00:24.770037Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Attempting to get file metadata...
[INFO] [stdout] [2m2026-03-28T03:00:24.770047Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === get_file_metadata DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.770056Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Getting metadata for file: 'test-data/document.md'
[INFO] [stdout] [2m2026-03-28T03:00:24.770067Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.770078Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/test-data/document.md
[INFO] [stdout] [2m2026-03-28T03:00:24.770090Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Sending HEAD request to S3...
[INFO] [stdout] [2m2026-03-28T03:00:24.769808Z[0m [31mERROR[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Error context: Failed to list objects in S3
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     S3 ListObjectsV2 failed for folder 'text_files/': dispatch failure
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error>::msg::<alloc::string::String>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::process_folder::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:157:32
[INFO] [stdout]    2: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:31:45
[INFO] [stdout]    3: <ai_workbench_lib::modules::job_processor::core::JobProcessor>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:102:83
[INFO] [stdout]    4: <ai_workbench_lib::modules::job_processor::core::JobProcessor>::run::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:57:43
[INFO] [stdout]    5: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_folder_end_to_end::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:787:31
[INFO] [stdout]    6: <core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    7: <core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    8: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]    9: tokio::task::coop::with_budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]   10: tokio::task::coop::budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   11: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   12: <tokio::runtime::scheduler::current_thread::Context>::enter::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   13: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   14: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   15: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   16: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   17: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   18: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   19: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   20: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   21: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   22: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   23: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   24: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   25: <tokio::runtime::runtime::Runtime>::block_on_inner::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   26: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   27: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_folder_end_to_end
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:787:37
[INFO] [stdout]   28: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_folder_end_to_end::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:759:52
[INFO] [stdout]   29: <ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_folder_end_to_end::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   31: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   32: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   33: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   34: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   35: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   36: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   37: test::run_test_in_process
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   38: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   39: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   40: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   41: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   42: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   43: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   44: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   45: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   46: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   47: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   48: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   49: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   50: <unknown>
[INFO] [stdout]   51: clone
[INFO] [stdout] [2m2026-03-28T03:00:24.770911Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m === FILE DISCOVERY DEBUG END (FAILED) ===
[INFO] [stdout] [2m2026-03-28T03:00:24.768456Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Network connectivity issues
[INFO] [stdout] ok
[INFO] [stdout] [2m2026-03-28T03:00:24.772049Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   5. S3 service is temporarily unavailable
[INFO] [stdout] test modules::job_processor::core::job_processor_tests::test_job_processor_with_large_file ... ok
[INFO] [stdout] test modules::job_processor::core::job_processor_tests::test_job_processor_file_discovery ... ok
[INFO] [stdout] test modules::file_discovery::file_discovery_tests::test_large_folder_discovery ... ok
[INFO] [stdout] test modules::job_processor::core::job_processor_tests::test_job_processor_folder_end_to_end ... ok
[INFO] [stdout] [2m2026-03-28T03:00:24.768563Z[0m [31mERROR[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m File discovery failed with error: Failed to get metadata for single file: text_files/sample.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.772116Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Failed to get metadata for file 'text_files/0c472776-7c22-464b-93bf-3714fd229b01.txt': Failed to get metadata for text_files/0c472776-7c22-464b-93bf-3714fd229b01.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.772133Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m This usually means:
[INFO] [stdout] [2m2026-03-28T03:00:24.772142Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. File does not exist at s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/text_files/0c472776-7c22-464b-93bf-3714fd229b01.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.772155Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No permissions to access the file
[INFO] [stdout] [2m2026-03-28T03:00:24.772164Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. S3 service is unavailable
[INFO] [stdout] [2m2026-03-28T03:00:24.772172Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Incorrect bucket name or file path
[INFO] [stdout] [2m2026-03-28T03:00:24.772184Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m discover_files failed: Failed to get metadata for single file: text_files/0c472776-7c22-464b-93bf-3714fd229b01.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.772120Z[0m [31mERROR[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Error context: Failed to get metadata for single file: text_files/sample.txt
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     0: Failed to get metadata for text_files/sample.txt
[INFO] [stdout]     1: S3 HEAD request failed for 'text_files/sample.txt': dispatch failure
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error>::msg::<alloc::string::String>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::get_file_metadata::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:267:28
[INFO] [stdout]    2: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::process_single_file::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:59:64
[INFO] [stdout]    3: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:35:50
[INFO] [stdout]    4: <ai_workbench_lib::modules::job_processor::core::JobProcessor>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:102:83
[INFO] [stdout]    5: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_config_validation::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:1024:46
[INFO] [stdout]    6: <core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    7: <core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    8: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]    9: tokio::task::coop::with_budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]   10: tokio::task::coop::budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   11: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   12: <tokio::runtime::scheduler::current_thread::Context>::enter::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   13: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   14: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   15: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   16: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   17: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   18: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   19: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   20: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   21: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   22: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   23: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   24: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   25: <tokio::runtime::runtime::Runtime>::block_on_inner::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   26: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   27: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_config_validation
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:1017:31
[INFO] [stdout]   28: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_config_validation::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:980:52
[INFO] [stdout]   29: <ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_config_validation::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   31: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   32: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   33: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   34: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   35: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   36: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   37: test::run_test_in_process
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   38: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   39: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   40: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   41: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   42: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   43: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   44: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   45: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   46: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   47: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   48: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   49: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   50: <unknown>
[INFO] [stdout]   51: clone
[INFO] [stdout] [2m2026-03-28T03:00:24.773289Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m === FILE DISCOVERY DEBUG END (FAILED) ===
[INFO] [stdout] [2m2026-03-28T03:00:24.773363Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m === FILE DISCOVERY DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.773376Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Input specification: 'text_files/'
[INFO] [stdout] [2m2026-03-28T03:00:24.773386Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Workspace bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.773397Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Full S3 path would be: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/text_files/
[INFO] [stdout] [2m2026-03-28T03:00:24.773410Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m FileDiscovery instance created successfully
[INFO] [stdout] [2m2026-03-28T03:00:24.773421Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Attempting to discover files...
[INFO] [stdout] [2m2026-03-28T03:00:24.772197Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: Failed to get metadata for single file: text_files/0c472776-7c22-464b-93bf-3714fd229b01.txt
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     0: Failed to get metadata for text_files/0c472776-7c22-464b-93bf-3714fd229b01.txt
[INFO] [stdout]     1: S3 HEAD request failed for 'text_files/0c472776-7c22-464b-93bf-3714fd229b01.txt': dispatch failure
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error>::msg::<alloc::string::String>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::get_file_metadata::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:267:28
[INFO] [stdout]    2: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::process_single_file::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:59:64
[INFO] [stdout]    3: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:35:50
[INFO] [stdout]    4: <ai_workbench_lib::modules::job_processor::core::JobProcessor>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:102:83
[INFO] [stdout]    5: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_single_file_end_to_end::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:673:55
[INFO] [stdout]    6: <core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    7: <core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    8: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]    9: tokio::task::coop::with_budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]   10: tokio::task::coop::budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   11: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   12: <tokio::runtime::scheduler::current_thread::Context>::enter::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   13: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   14: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   15: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   16: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   17: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   18: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   19: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   20: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   21: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   22: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   23: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   24: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   25: <tokio::runtime::runtime::Runtime>::block_on_inner::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   26: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   27: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_single_file_end_to_end
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:710:37
[INFO] [stdout]   28: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_single_file_end_to_end::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:638:57
[INFO] [stdout]   29: <ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_single_file_end_to_end::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   31: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   32: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   33: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   34: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   35: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   36: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   37: test::run_test_in_process
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   38: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   39: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   40: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   41: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   42: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   43: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   44: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   45: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   46: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   47: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   48: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   49: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   50: <unknown>
[INFO] [stdout]   51: clone
[INFO] [stdout] [2m2026-03-28T03:00:24.773434Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.773445Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Input spec: 'text_files/'
[INFO] [stdout] [2m2026-03-28T03:00:24.773445Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG END ===
[INFO] [stdout] [2m2026-03-28T03:00:24.773456Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Workspace bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.773462Z[0m [31mERROR[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m File discovery failed with error: Failed to get metadata for single file: text_files/0c472776-7c22-464b-93bf-3714fd229b01.txt
[INFO] [stdout] [2m2026-03-28T03:00:24.773468Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Detected folder input (ends with '/') - processing as folder
[INFO] [stdout] [2m2026-03-28T03:00:24.773481Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === process_folder DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.773492Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Processing folder: 'text_files/'
[INFO] [stdout] [2m2026-03-28T03:00:24.773502Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/text_files/
[INFO] [stdout] [2m2026-03-28T03:00:24.773516Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Making S3 ListObjects request #1
[INFO] [stdout] [2m2026-03-28T03:00:24.773529Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Sending ListObjectsV2 request to S3...
[INFO] [stdout] [2m2026-03-28T03:00:24.773477Z[0m [31mERROR[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Error context: Failed to get metadata for single file: text_files/0c472776-7c22-464b-93bf-3714fd229b01.txt
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     0: Failed to get metadata for text_files/0c472776-7c22-464b-93bf-3714fd229b01.txt
[INFO] [stdout]     1: S3 HEAD request failed for 'text_files/0c472776-7c22-464b-93bf-3714fd229b01.txt': dispatch failure
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error>::msg::<alloc::string::String>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::get_file_metadata::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:267:28
[INFO] [stdout]    2: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::process_single_file::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:59:64
[INFO] [stdout]    3: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:35:50
[INFO] [stdout]    4: <ai_workbench_lib::modules::job_processor::core::JobProcessor>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:102:83
[INFO] [stdout]    5: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_single_file_end_to_end::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:673:55
[INFO] [stdout]    6: <core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    7: <core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    8: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]    9: tokio::task::coop::with_budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]   10: tokio::task::coop::budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   11: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   12: <tokio::runtime::scheduler::current_thread::Context>::enter::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   13: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   14: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   15: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   16: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   17: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   18: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   19: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   20: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   21: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   22: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   23: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   24: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   25: <tokio::runtime::runtime::Runtime>::block_on_inner::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   26: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   27: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_single_file_end_to_end
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:710:37
[INFO] [stdout]   28: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_single_file_end_to_end::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:638:57
[INFO] [stdout]   29: <ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_single_file_end_to_end::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   31: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   32: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   33: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   34: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   35: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   36: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   37: test::run_test_in_process
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   38: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   39: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   40: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   41: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   42: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   43: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   44: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   45: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   46: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   47: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   48: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   49: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   50: <unknown>
[INFO] [stdout]   51: clone
[INFO] [stdout] [2m2026-03-28T03:00:24.774454Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m === FILE DISCOVERY DEBUG END (FAILED) ===
[INFO] [stdout] test modules::job_processor::core::job_processor_tests::test_job_processor_single_file_end_to_end ... ok
[INFO] [stdout] [2m2026-03-28T03:00:24.775572Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m S3 HEAD request failed for 'test-data/document.md': dispatch failure
[INFO] [stdout] [2m2026-03-28T03:00:24.775595Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: DispatchFailure(DispatchFailure { source: ConnectorError { kind: Other(None), source: CredentialsNotLoaded(CredentialsNotLoaded { source: Some("no providers in chain provided credentials") }), connection: Unknown } })
[INFO] [stdout] [2m2026-03-28T03:00:24.775624Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Possible causes:
[INFO] [stdout] [2m2026-03-28T03:00:24.775635Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. File 'test-data/document.md' does not exist in bucket 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.775649Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No read permissions for this file/bucket
[INFO] [stdout] [2m2026-03-28T03:00:24.775659Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. AWS credentials are invalid or expired
[INFO] [stdout] [2m2026-03-28T03:00:24.775669Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Network connectivity issues
[INFO] [stdout] [2m2026-03-28T03:00:24.775680Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   5. S3 service is temporarily unavailable
[INFO] [stdout] [2m2026-03-28T03:00:24.775696Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m S3 ListObjectsV2 request failed: dispatch failure
[INFO] [stdout] [2m2026-03-28T03:00:24.775717Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: DispatchFailure(DispatchFailure { source: ConnectorError { kind: Other(None), source: CredentialsNotLoaded(CredentialsNotLoaded { source: Some("no providers in chain provided credentials") }), connection: Unknown } })
[INFO] [stdout] [2m2026-03-28T03:00:24.775731Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Failed to get metadata for file 'test-data/document.md': Failed to get metadata for test-data/document.md
[INFO] [stdout] [2m2026-03-28T03:00:24.775740Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Possible causes:
[INFO] [stdout] [2m2026-03-28T03:00:24.775747Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m This usually means:
[INFO] [stdout] [2m2026-03-28T03:00:24.775749Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. Folder/prefix 'text_files/' does not exist in bucket 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.775756Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. File does not exist at s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/test-data/document.md
[INFO] [stdout] [2m2026-03-28T03:00:24.775762Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No list permissions for this bucket/prefix
[INFO] [stdout] [2m2026-03-28T03:00:24.775770Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No permissions to access the file
[INFO] [stdout] [2m2026-03-28T03:00:24.775773Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. AWS credentials are invalid or expired
[INFO] [stdout] [2m2026-03-28T03:00:24.775780Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. S3 service is unavailable
[INFO] [stdout] [2m2026-03-28T03:00:24.775782Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Bucket 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2' does not exist
[INFO] [stdout] [2m2026-03-28T03:00:24.775790Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Incorrect bucket name or file path
[INFO] [stdout] [2m2026-03-28T03:00:24.775794Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   5. Network connectivity issues
[INFO] [stdout] [2m2026-03-28T03:00:24.775804Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m discover_files failed: Failed to get metadata for single file: test-data/document.md
[INFO] [stdout] [2m2026-03-28T03:00:24.775842Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m discover_files failed: Failed to list objects in S3
[INFO] [stdout] [2m2026-03-28T03:00:24.775818Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: Failed to get metadata for single file: test-data/document.md
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     0: Failed to get metadata for test-data/document.md
[INFO] [stdout]     1: S3 HEAD request failed for 'test-data/document.md': dispatch failure
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error>::msg::<alloc::string::String>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::get_file_metadata::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:267:28
[INFO] [stdout]    2: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::process_single_file::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:59:64
[INFO] [stdout]    3: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:35:50
[INFO] [stdout]    4: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:516:61
[INFO] [stdout]    5: <core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    6: <core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    7: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]    8: tokio::task::coop::with_budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    9: tokio::task::coop::budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   10: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   11: <tokio::runtime::scheduler::current_thread::Context>::enter::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   12: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   13: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   14: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   15: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   16: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   17: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   18: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   19: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   20: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   21: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   22: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   23: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   24: <tokio::runtime::runtime::Runtime>::block_on_inner::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   25: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   26: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:515:36
[INFO] [stdout]   27: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:498:40
[INFO] [stdout]   28: <ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   29: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   31: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   32: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   33: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   34: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   35: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   36: test::run_test_in_process
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   37: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   38: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   39: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   40: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   41: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   42: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   43: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   44: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   45: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   46: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   48: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   49: <unknown>
[INFO] [stdout]   50: clone
[INFO] [stdout] [2m2026-03-28T03:00:24.775855Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: Failed to list objects in S3
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     S3 ListObjectsV2 failed for folder 'text_files/': dispatch failure
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error>::msg::<alloc::string::String>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::process_folder::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:157:32
[INFO] [stdout]    2: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:31:45
[INFO] [stdout]    3: <ai_workbench_lib::modules::job_processor::core::JobProcessor>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:102:83
[INFO] [stdout]    4: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_config_validation::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:1024:46
[INFO] [stdout]    5: <core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    6: <core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    7: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]    8: tokio::task::coop::with_budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    9: tokio::task::coop::budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   10: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   11: <tokio::runtime::scheduler::current_thread::Context>::enter::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   12: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   13: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   14: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   15: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   16: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   17: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   18: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   19: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   20: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   21: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   22: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   23: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   24: <tokio::runtime::runtime::Runtime>::block_on_inner::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   25: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   26: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_config_validation
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:1017:31
[INFO] [stdout]   27: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_config_validation::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:980:52
[INFO] [stdout]   28: <ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_config_validation::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   29: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   31: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   32: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   33: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   34: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   35: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   36: test::run_test_in_process
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   37: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   38: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   39: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   40: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   41: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   42: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   43: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   44: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   45: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   46: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   48: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   49: <unknown>
[INFO] [stdout]   50: clone
[INFO] [stdout] [2m2026-03-28T03:00:24.777201Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG END ===
[INFO] [stdout] [2m2026-03-28T03:00:24.777220Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG END ===
[INFO] [stdout] [2m2026-03-28T03:00:24.777233Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.777238Z[0m [31mERROR[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m File discovery failed with error: Failed to list objects in S3
[INFO] [stdout] [2m2026-03-28T03:00:24.777245Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Input spec: 'test-data/script.py'
[INFO] [stdout] [2m2026-03-28T03:00:24.777255Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Workspace bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.777267Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Detected single file input (no trailing '/') - processing as single file
[INFO] [stdout] [2m2026-03-28T03:00:24.777280Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === process_single_file DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.777291Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Processing single file: 'test-data/script.py'
[INFO] [stdout] [2m2026-03-28T03:00:24.777302Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/test-data/script.py
[INFO] [stdout] [2m2026-03-28T03:00:24.777315Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Attempting to get file metadata...
[INFO] [stdout] [2m2026-03-28T03:00:24.777328Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === get_file_metadata DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.777339Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Getting metadata for file: 'test-data/script.py'
[INFO] [stdout] [2m2026-03-28T03:00:24.777350Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.777362Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/test-data/script.py
[INFO] [stdout] [2m2026-03-28T03:00:24.777375Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Sending HEAD request to S3...
[INFO] [stdout] [2m2026-03-28T03:00:24.777252Z[0m [31mERROR[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m Error context: Failed to list objects in S3
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     S3 ListObjectsV2 failed for folder 'text_files/': dispatch failure
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error>::msg::<alloc::string::String>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::process_folder::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:157:32
[INFO] [stdout]    2: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:31:45
[INFO] [stdout]    3: <ai_workbench_lib::modules::job_processor::core::JobProcessor>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:102:83
[INFO] [stdout]    4: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_config_validation::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:1024:46
[INFO] [stdout]    5: <core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    6: <core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    7: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]    8: tokio::task::coop::with_budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    9: tokio::task::coop::budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   10: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   11: <tokio::runtime::scheduler::current_thread::Context>::enter::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   12: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   13: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   14: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   15: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   16: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   17: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   18: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   19: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   20: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   21: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   22: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   23: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   24: <tokio::runtime::runtime::Runtime>::block_on_inner::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   25: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   26: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_config_validation
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:1017:31
[INFO] [stdout]   27: ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_config_validation::{closure#0}
[INFO] [stdout]              at ./src/../modules/job_processor/core.rs:980:52
[INFO] [stdout]   28: <ai_workbench_lib::modules::job_processor::core::job_processor_tests::test_job_processor_config_validation::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   29: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   31: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   32: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   33: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   34: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   35: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   36: test::run_test_in_process
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   37: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   38: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   39: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   40: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   41: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   42: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   43: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   44: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   45: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   46: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   48: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   49: <unknown>
[INFO] [stdout]   50: clone
[INFO] [stdout] [2m2026-03-28T03:00:24.778281Z[0m [32m INFO[0m [2mai_workbench_lib::modules::job_processor::core[0m[2m:[0m === FILE DISCOVERY DEBUG END (FAILED) ===
[INFO] [stdout] [2m2026-03-28T03:00:24.779605Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m S3 HEAD request failed for 'test-data/script.py': dispatch failure
[INFO] [stdout] [2m2026-03-28T03:00:24.779629Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: DispatchFailure(DispatchFailure { source: ConnectorError { kind: Other(None), source: CredentialsNotLoaded(CredentialsNotLoaded { source: Some("no providers in chain provided credentials") }), connection: Unknown } })
[INFO] [stdout] [2m2026-03-28T03:00:24.779654Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Possible causes:
[INFO] [stdout] [2m2026-03-28T03:00:24.779663Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. File 'test-data/script.py' does not exist in bucket 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.779677Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No read permissions for this file/bucket
[INFO] [stdout] [2m2026-03-28T03:00:24.779687Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. AWS credentials are invalid or expired
[INFO] [stdout] [2m2026-03-28T03:00:24.779698Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Network connectivity issues
[INFO] [stdout] [2m2026-03-28T03:00:24.779707Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   5. S3 service is temporarily unavailable
[INFO] [stdout] [2m2026-03-28T03:00:24.779758Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Failed to get metadata for file 'test-data/script.py': Failed to get metadata for test-data/script.py
[INFO] [stdout] [2m2026-03-28T03:00:24.779775Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m This usually means:
[INFO] [stdout] [2m2026-03-28T03:00:24.779785Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. File does not exist at s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/test-data/script.py
[INFO] [stdout] [2m2026-03-28T03:00:24.779799Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No permissions to access the file
[INFO] [stdout] [2m2026-03-28T03:00:24.779810Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. S3 service is unavailable
[INFO] [stdout] [2m2026-03-28T03:00:24.779820Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Incorrect bucket name or file path
[INFO] [stdout] [2m2026-03-28T03:00:24.779832Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m discover_files failed: Failed to get metadata for single file: test-data/script.py
[INFO] [stdout] test modules::job_processor::core::job_processor_tests::test_job_processor_config_validation ... ok
[INFO] [stdout] [2m2026-03-28T03:00:24.779845Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: Failed to get metadata for single file: test-data/script.py
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     0: Failed to get metadata for test-data/script.py
[INFO] [stdout]     1: S3 HEAD request failed for 'test-data/script.py': dispatch failure
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error>::msg::<alloc::string::String>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::get_file_metadata::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:267:28
[INFO] [stdout]    2: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::process_single_file::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:59:64
[INFO] [stdout]    3: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:35:50
[INFO] [stdout]    4: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:516:61
[INFO] [stdout]    5: <core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    6: <core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    7: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]    8: tokio::task::coop::with_budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    9: tokio::task::coop::budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   10: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   11: <tokio::runtime::scheduler::current_thread::Context>::enter::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   12: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   13: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   14: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   15: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   16: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   17: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   18: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   19: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   20: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   21: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   22: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   23: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   24: <tokio::runtime::runtime::Runtime>::block_on_inner::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   25: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   26: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:515:36
[INFO] [stdout]   27: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:498:40
[INFO] [stdout]   28: <ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   29: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   31: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   32: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   33: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   34: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   35: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   36: test::run_test_in_process
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   37: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   38: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   39: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   40: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   41: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   42: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   43: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   44: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   45: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   46: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   48: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   49: <unknown>
[INFO] [stdout]   50: clone
[INFO] [stdout] [2m2026-03-28T03:00:24.781166Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG END ===
[INFO] [stdout] [2m2026-03-28T03:00:24.781195Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.781206Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Input spec: 'test-data/code.rs'
[INFO] [stdout] [2m2026-03-28T03:00:24.781215Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Workspace bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.781226Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Detected single file input (no trailing '/') - processing as single file
[INFO] [stdout] [2m2026-03-28T03:00:24.781238Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === process_single_file DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.781248Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Processing single file: 'test-data/code.rs'
[INFO] [stdout] [2m2026-03-28T03:00:24.781258Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/test-data/code.rs
[INFO] [stdout] [2m2026-03-28T03:00:24.781270Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Attempting to get file metadata...
[INFO] [stdout] [2m2026-03-28T03:00:24.781281Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === get_file_metadata DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.781290Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Getting metadata for file: 'test-data/code.rs'
[INFO] [stdout] [2m2026-03-28T03:00:24.781301Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.781312Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/test-data/code.rs
[INFO] [stdout] [2m2026-03-28T03:00:24.781324Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Sending HEAD request to S3...
[INFO] [stdout] [2m2026-03-28T03:00:24.783491Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m S3 HEAD request failed for 'test-data/code.rs': dispatch failure
[INFO] [stdout] [2m2026-03-28T03:00:24.783537Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: DispatchFailure(DispatchFailure { source: ConnectorError { kind: Other(None), source: CredentialsNotLoaded(CredentialsNotLoaded { source: Some("no providers in chain provided credentials") }), connection: Unknown } })
[INFO] [stdout] [2m2026-03-28T03:00:24.783582Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Possible causes:
[INFO] [stdout] [2m2026-03-28T03:00:24.783609Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. File 'test-data/code.rs' does not exist in bucket 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.783641Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No read permissions for this file/bucket
[INFO] [stdout] [2m2026-03-28T03:00:24.783667Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. AWS credentials are invalid or expired
[INFO] [stdout] [2m2026-03-28T03:00:24.783692Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Network connectivity issues
[INFO] [stdout] [2m2026-03-28T03:00:24.783717Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   5. S3 service is temporarily unavailable
[INFO] [stdout] [2m2026-03-28T03:00:24.783786Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Failed to get metadata for file 'test-data/code.rs': Failed to get metadata for test-data/code.rs
[INFO] [stdout] [2m2026-03-28T03:00:24.783823Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m This usually means:
[INFO] [stdout] [2m2026-03-28T03:00:24.783849Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. File does not exist at s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/test-data/code.rs
[INFO] [stdout] [2m2026-03-28T03:00:24.783890Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No permissions to access the file
[INFO] [stdout] [2m2026-03-28T03:00:24.783932Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. S3 service is unavailable
[INFO] [stdout] [2m2026-03-28T03:00:24.783952Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Incorrect bucket name or file path
[INFO] [stdout] [2m2026-03-28T03:00:24.783974Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m discover_files failed: Failed to get metadata for single file: test-data/code.rs
[INFO] [stdout] [2m2026-03-28T03:00:24.783999Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: Failed to get metadata for single file: test-data/code.rs
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     0: Failed to get metadata for test-data/code.rs
[INFO] [stdout]     1: S3 HEAD request failed for 'test-data/code.rs': dispatch failure
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error>::msg::<alloc::string::String>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::get_file_metadata::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:267:28
[INFO] [stdout]    2: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::process_single_file::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:59:64
[INFO] [stdout]    3: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:35:50
[INFO] [stdout]    4: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:516:61
[INFO] [stdout]    5: <core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    6: <core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    7: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]    8: tokio::task::coop::with_budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    9: tokio::task::coop::budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   10: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   11: <tokio::runtime::scheduler::current_thread::Context>::enter::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   12: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   13: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   14: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   15: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   16: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   17: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   18: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   19: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   20: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   21: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   22: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   23: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   24: <tokio::runtime::runtime::Runtime>::block_on_inner::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   25: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   26: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:515:36
[INFO] [stdout]   27: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:498:40
[INFO] [stdout]   28: <ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   29: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   31: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   32: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   33: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   34: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   35: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   36: test::run_test_in_process
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   37: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   38: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   39: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   40: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   41: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   42: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   43: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   44: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   45: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   46: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   48: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   49: <unknown>
[INFO] [stdout]   50: clone
[INFO] [stdout] [2m2026-03-28T03:00:24.785293Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG END ===
[INFO] [stdout] [2m2026-03-28T03:00:24.785377Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.785433Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Input spec: 'test-data/styles.css'
[INFO] [stdout] [2m2026-03-28T03:00:24.785469Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Workspace bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.785530Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Detected single file input (no trailing '/') - processing as single file
[INFO] [stdout] [2m2026-03-28T03:00:24.785569Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === process_single_file DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.785627Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Processing single file: 'test-data/styles.css'
[INFO] [stdout] [2m2026-03-28T03:00:24.785697Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/test-data/styles.css
[INFO] [stdout] [2m2026-03-28T03:00:24.785734Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Attempting to get file metadata...
[INFO] [stdout] [2m2026-03-28T03:00:24.785800Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === get_file_metadata DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.785833Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Getting metadata for file: 'test-data/styles.css'
[INFO] [stdout] [2m2026-03-28T03:00:24.785912Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.785952Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/test-data/styles.css
[INFO] [stdout] [2m2026-03-28T03:00:24.786028Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Sending HEAD request to S3...
[INFO] [stdout] [2m2026-03-28T03:00:24.788132Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m S3 HEAD request failed for 'test-data/styles.css': dispatch failure
[INFO] [stdout] [2m2026-03-28T03:00:24.788206Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: DispatchFailure(DispatchFailure { source: ConnectorError { kind: Other(None), source: CredentialsNotLoaded(CredentialsNotLoaded { source: Some("no providers in chain provided credentials") }), connection: Unknown } })
[INFO] [stdout] [2m2026-03-28T03:00:24.788255Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Possible causes:
[INFO] [stdout] [2m2026-03-28T03:00:24.788327Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. File 'test-data/styles.css' does not exist in bucket 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.788364Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No read permissions for this file/bucket
[INFO] [stdout] [2m2026-03-28T03:00:24.788417Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. AWS credentials are invalid or expired
[INFO] [stdout] [2m2026-03-28T03:00:24.788449Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Network connectivity issues
[INFO] [stdout] [2m2026-03-28T03:00:24.788503Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   5. S3 service is temporarily unavailable
[INFO] [stdout] [2m2026-03-28T03:00:24.788594Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Failed to get metadata for file 'test-data/styles.css': Failed to get metadata for test-data/styles.css
[INFO] [stdout] [2m2026-03-28T03:00:24.788665Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m This usually means:
[INFO] [stdout] [2m2026-03-28T03:00:24.788695Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. File does not exist at s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/test-data/styles.css
[INFO] [stdout] [2m2026-03-28T03:00:24.788753Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No permissions to access the file
[INFO] [stdout] [2m2026-03-28T03:00:24.788801Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. S3 service is unavailable
[INFO] [stdout] [2m2026-03-28T03:00:24.788835Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Incorrect bucket name or file path
[INFO] [stdout] [2m2026-03-28T03:00:24.788922Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m discover_files failed: Failed to get metadata for single file: test-data/styles.css
[INFO] [stdout] [2m2026-03-28T03:00:24.788970Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: Failed to get metadata for single file: test-data/styles.css
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     0: Failed to get metadata for test-data/styles.css
[INFO] [stdout]     1: S3 HEAD request failed for 'test-data/styles.css': dispatch failure
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error>::msg::<alloc::string::String>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::get_file_metadata::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:267:28
[INFO] [stdout]    2: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::process_single_file::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:59:64
[INFO] [stdout]    3: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:35:50
[INFO] [stdout]    4: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:516:61
[INFO] [stdout]    5: <core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    6: <core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    7: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]    8: tokio::task::coop::with_budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    9: tokio::task::coop::budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   10: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   11: <tokio::runtime::scheduler::current_thread::Context>::enter::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   12: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   13: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   14: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   15: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   16: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   17: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   18: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   19: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   20: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   21: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   22: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   23: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   24: <tokio::runtime::runtime::Runtime>::block_on_inner::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   25: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   26: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:515:36
[INFO] [stdout]   27: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:498:40
[INFO] [stdout]   28: <ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   29: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   31: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   32: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   33: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   34: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   35: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   36: test::run_test_in_process
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   37: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   38: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   39: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   40: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   41: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   42: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   43: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   44: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   45: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   46: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   48: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   49: <unknown>
[INFO] [stdout]   50: clone
[INFO] [stdout] [2m2026-03-28T03:00:24.790227Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG END ===
[INFO] [stdout] [2m2026-03-28T03:00:24.790277Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.790341Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Input spec: 'test-data/markup.html'
[INFO] [stdout] [2m2026-03-28T03:00:24.790371Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Workspace bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.790400Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Detected single file input (no trailing '/') - processing as single file
[INFO] [stdout] [2m2026-03-28T03:00:24.790467Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === process_single_file DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.790498Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Processing single file: 'test-data/markup.html'
[INFO] [stdout] [2m2026-03-28T03:00:24.790548Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/test-data/markup.html
[INFO] [stdout] [2m2026-03-28T03:00:24.790592Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Attempting to get file metadata...
[INFO] [stdout] [2m2026-03-28T03:00:24.790624Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === get_file_metadata DEBUG START ===
[INFO] [stdout] [2m2026-03-28T03:00:24.790677Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Getting metadata for file: 'test-data/markup.html'
[INFO] [stdout] [2m2026-03-28T03:00:24.790716Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Bucket: 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.790741Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Full S3 path: s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/test-data/markup.html
[INFO] [stdout] [2m2026-03-28T03:00:24.790768Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Sending HEAD request to S3...
[INFO] [stdout] [2m2026-03-28T03:00:24.793196Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m S3 HEAD request failed for 'test-data/markup.html': dispatch failure
[INFO] [stdout] [2m2026-03-28T03:00:24.793275Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: DispatchFailure(DispatchFailure { source: ConnectorError { kind: Other(None), source: CredentialsNotLoaded(CredentialsNotLoaded { source: Some("no providers in chain provided credentials") }), connection: Unknown } })
[INFO] [stdout] [2m2026-03-28T03:00:24.793327Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Possible causes:
[INFO] [stdout] [2m2026-03-28T03:00:24.793390Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. File 'test-data/markup.html' does not exist in bucket 'ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2'
[INFO] [stdout] [2m2026-03-28T03:00:24.793422Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No read permissions for this file/bucket
[INFO] [stdout] [2m2026-03-28T03:00:24.793451Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. AWS credentials are invalid or expired
[INFO] [stdout] [2m2026-03-28T03:00:24.793524Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Network connectivity issues
[INFO] [stdout] [2m2026-03-28T03:00:24.793560Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   5. S3 service is temporarily unavailable
[INFO] [stdout] [2m2026-03-28T03:00:24.793669Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Failed to get metadata for file 'test-data/markup.html': Failed to get metadata for test-data/markup.html
[INFO] [stdout] [2m2026-03-28T03:00:24.793758Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m This usually means:
[INFO] [stdout] [2m2026-03-28T03:00:24.793794Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   1. File does not exist at s3://ai-workbench-6c9c43db-7fe6-42f1-8b11-8f82323f83f0-eu-west-2/test-data/markup.html
[INFO] [stdout] [2m2026-03-28T03:00:24.793864Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   2. No permissions to access the file
[INFO] [stdout] [2m2026-03-28T03:00:24.793946Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   3. S3 service is unavailable
[INFO] [stdout] [2m2026-03-28T03:00:24.793976Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m   4. Incorrect bucket name or file path
[INFO] [stdout] [2m2026-03-28T03:00:24.794004Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m discover_files failed: Failed to get metadata for single file: test-data/markup.html
[INFO] [stdout] [2m2026-03-28T03:00:24.794067Z[0m [31mERROR[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m Error details: Failed to get metadata for single file: test-data/markup.html
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     0: Failed to get metadata for test-data/markup.html
[INFO] [stdout]     1: S3 HEAD request failed for 'test-data/markup.html': dispatch failure
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error>::msg::<alloc::string::String>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::get_file_metadata::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:267:28
[INFO] [stdout]    2: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::process_single_file::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:59:64
[INFO] [stdout]    3: <ai_workbench_lib::modules::file_discovery::FileDiscovery>::discover_files::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:35:50
[INFO] [stdout]    4: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:516:61
[INFO] [stdout]    5: <core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    6: <core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/future/future.rs:133:9
[INFO] [stdout]    7: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]    8: tokio::task::coop::with_budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    9: tokio::task::coop::budget::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   10: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   11: <tokio::runtime::scheduler::current_thread::Context>::enter::<core::task::poll::Poll<()>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   12: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   13: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   14: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   15: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:38
[INFO] [stdout]   16: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   17: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>)>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   18: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<()>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>::{closure#0}>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context.rs:176:17
[INFO] [stdout]   19: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>::{closure#0}, core::option::Option<()>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   20: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   21: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   22: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   23: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   24: <tokio::runtime::runtime::Runtime>::block_on_inner::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   25: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   26: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:515:36
[INFO] [stdout]   27: ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection::{closure#0}
[INFO] [stdout]              at ./src/../modules/file_discovery.rs:498:40
[INFO] [stdout]   28: <ai_workbench_lib::modules::file_discovery::file_discovery_tests::test_file_type_detection::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   29: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   31: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   32: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   33: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   34: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   35: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   36: test::run_test_in_process
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   37: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   38: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   39: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   40: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   41: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   42: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   43: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   44: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   45: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   46: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   48: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   49: <unknown>
[INFO] [stdout]   50: clone
[INFO] [stdout] [2m2026-03-28T03:00:24.795255Z[0m [32m INFO[0m [2mai_workbench_lib::modules::file_discovery[0m[2m:[0m === FileDiscovery::discover_files DEBUG END ===
[INFO] [stdout] test modules::file_discovery::file_discovery_tests::test_file_type_detection ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- modules::file_splitter::splitter::tests::test_binary_file_rejection stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'modules::file_splitter::splitter::tests::test_binary_file_rejection' (29) panicked at src/../modules/file_splitter/splitter.rs:137:9:
[INFO] [stdout] assertion failed: result.is_err()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b2424a220aa - std[f92b4c606f291077]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5b2424a220aa - std[f92b4c606f291077]::backtrace_rs::backtrace::trace_unsynchronized::<std[f92b4c606f291077]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5b2424a220aa - std[f92b4c606f291077]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5b2424a220aa - <<std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[786f478f706679df]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5b2424a3b36a - <core[786f478f706679df]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5b2424a3b36a - core[786f478f706679df]::fmt::write
[INFO] [stdout]    6:     0x5b2424a27ae2 - std[f92b4c606f291077]::io::default_write_fmt::<alloc[64763625b5a07cdb]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5b2424a27ae2 - <alloc[64763625b5a07cdb]::vec::Vec<u8> as std[f92b4c606f291077]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5b24249ff19f - <std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5b24249ff19f - std[f92b4c606f291077]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5b2424a19759 - std[f92b4c606f291077]::panicking::default_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5b242376477c - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5b242376477c - test[20e1f0ae6cad7a17]::test_main_with_exit_callback::<test[20e1f0ae6cad7a17]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5b2424a199d2 - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5b2424a199d2 - std[f92b4c606f291077]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5b24249ff28a - std[f92b4c606f291077]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5b24249f63d9 - std[f92b4c606f291077]::sys::backtrace::__rust_end_short_backtrace::<std[f92b4c606f291077]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5b2424a0021d - __rustc[8241495c18a89d70]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5b2424a3bb5c - core[786f478f706679df]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5b2424a3bb22 - core[786f478f706679df]::panicking::panic
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5b2423712430 - ai_workbench_lib[dfdc2881c2d1c9a7]::modules::file_splitter::splitter::tests::test_binary_file_rejection
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../modules/file_splitter/splitter.rs:137:9
[INFO] [stdout]   21:     0x5b242370add7 - ai_workbench_lib[dfdc2881c2d1c9a7]::modules::file_splitter::splitter::tests::test_binary_file_rejection::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../modules/file_splitter/splitter.rs:130:36
[INFO] [stdout]   22:     0x5b24236be876 - <ai_workbench_lib[dfdc2881c2d1c9a7]::modules::file_splitter::splitter::tests::test_binary_file_rejection::{closure#0} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5b242375885b - <fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5b242375885b - test[20e1f0ae6cad7a17]::__rust_begin_short_backtrace::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x5b242376524b - test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x5b242376524b - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x5b242376524b - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5b242376524b - std[f92b4c606f291077]::panicking::catch_unwind::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5b242376524b - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5b242376524b - test[20e1f0ae6cad7a17]::run_test_in_process
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x5b242376524b - test[20e1f0ae6cad7a17]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x5b2423760964 - test[20e1f0ae6cad7a17]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x5b2423760964 - std[f92b4c606f291077]::sys::backtrace::__rust_begin_short_backtrace::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5b2423767e52 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x5b2423767e52 - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x5b2423767e52 - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x5b2423767e52 - std[f92b4c606f291077]::panicking::catch_unwind::<(), core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5b2423767e52 - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5b2423767e52 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x5b2423767e52 - <std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5b2424a2115f - <alloc[64763625b5a07cdb]::boxed::Box<dyn core[786f478f706679df]::ops::function::FnOnce<(), Output = ()> + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   42:     0x5b2424a2115f - <std[f92b4c606f291077]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x76b83bbf5aa4 - <unknown>
[INFO] [stdout]   44:     0x76b83bc82a64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- modules::file_splitter::splitter::integration_tests::test_mixed_file_types stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'modules::file_splitter::splitter::integration_tests::test_mixed_file_types' (27) panicked at src/../modules/file_splitter/splitter.rs:245:13:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: Text
[INFO] [stdout]  right: Xml
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b2424a220aa - std[f92b4c606f291077]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5b2424a220aa - std[f92b4c606f291077]::backtrace_rs::backtrace::trace_unsynchronized::<std[f92b4c606f291077]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5b2424a220aa - std[f92b4c606f291077]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5b2424a220aa - <<std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[786f478f706679df]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5b2424a3b36a - <core[786f478f706679df]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5b2424a3b36a - core[786f478f706679df]::fmt::write
[INFO] [stdout]    6:     0x5b2424a27ae2 - std[f92b4c606f291077]::io::default_write_fmt::<alloc[64763625b5a07cdb]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5b2424a27ae2 - <alloc[64763625b5a07cdb]::vec::Vec<u8> as std[f92b4c606f291077]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5b24249ff19f - <std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5b24249ff19f - std[f92b4c606f291077]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5b2424a19759 - std[f92b4c606f291077]::panicking::default_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5b242376477c - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5b242376477c - test[20e1f0ae6cad7a17]::test_main_with_exit_callback::<test[20e1f0ae6cad7a17]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5b2424a199d2 - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5b2424a199d2 - std[f92b4c606f291077]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5b24249ff258 - std[f92b4c606f291077]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5b24249f63d9 - std[f92b4c606f291077]::sys::backtrace::__rust_end_short_backtrace::<std[f92b4c606f291077]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5b2424a0021d - __rustc[8241495c18a89d70]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5b2424a3bb5c - core[786f478f706679df]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5b2424a3b9e3 - core[786f478f706679df]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x5b24236fde0b - core[786f478f706679df]::panicking::assert_failed::<ai_workbench_lib[dfdc2881c2d1c9a7]::modules::file_splitter::types::FileType, ai_workbench_lib[dfdc2881c2d1c9a7]::modules::file_splitter::types::FileType>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x5b2423710376 - ai_workbench_lib[dfdc2881c2d1c9a7]::modules::file_splitter::splitter::integration_tests::test_mixed_file_types
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../modules/file_splitter/splitter.rs:245:13
[INFO] [stdout]   22:     0x5b242370aae7 - ai_workbench_lib[dfdc2881c2d1c9a7]::modules::file_splitter::splitter::integration_tests::test_mixed_file_types::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../modules/file_splitter/splitter.rs:231:31
[INFO] [stdout]   23:     0x5b24236be6b6 - <ai_workbench_lib[dfdc2881c2d1c9a7]::modules::file_splitter::splitter::integration_tests::test_mixed_file_types::{closure#0} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5b242375885b - <fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5b242375885b - test[20e1f0ae6cad7a17]::__rust_begin_short_backtrace::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x5b242376524b - test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x5b242376524b - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x5b242376524b - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5b242376524b - std[f92b4c606f291077]::panicking::catch_unwind::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5b242376524b - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5b242376524b - test[20e1f0ae6cad7a17]::run_test_in_process
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x5b242376524b - test[20e1f0ae6cad7a17]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x5b2423760964 - test[20e1f0ae6cad7a17]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x5b2423760964 - std[f92b4c606f291077]::sys::backtrace::__rust_begin_short_backtrace::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5b2423767e52 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x5b2423767e52 - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x5b2423767e52 - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5b2423767e52 - std[f92b4c606f291077]::panicking::catch_unwind::<(), core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5b2423767e52 - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5b2423767e52 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x5b2423767e52 - <std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5b2424a2115f - <alloc[64763625b5a07cdb]::boxed::Box<dyn core[786f478f706679df]::ops::function::FnOnce<(), Output = ()> + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   43:     0x5b2424a2115f - <std[f92b4c606f291077]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x76b83bbf5aa4 - <unknown>
[INFO] [stdout]   45:     0x76b83bc82a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- modules::file_splitter::splitter_types::json_splitter::tests::test_standard_json_detection stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'modules::file_splitter::splitter_types::json_splitter::tests::test_standard_json_detection' (45) panicked at src/../modules/file_splitter/splitter_types/json_splitter.rs:354:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: JsonLines
[INFO] [stdout]  right: Standard
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b2424a220aa - std[f92b4c606f291077]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5b2424a220aa - std[f92b4c606f291077]::backtrace_rs::backtrace::trace_unsynchronized::<std[f92b4c606f291077]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5b2424a220aa - std[f92b4c606f291077]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5b2424a220aa - <<std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[786f478f706679df]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5b2424a3b36a - <core[786f478f706679df]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5b2424a3b36a - core[786f478f706679df]::fmt::write
[INFO] [stdout]    6:     0x5b2424a27ae2 - std[f92b4c606f291077]::io::default_write_fmt::<alloc[64763625b5a07cdb]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5b2424a27ae2 - <alloc[64763625b5a07cdb]::vec::Vec<u8> as std[f92b4c606f291077]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5b24249ff19f - <std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5b24249ff19f - std[f92b4c606f291077]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5b2424a19759 - std[f92b4c606f291077]::panicking::default_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5b242376477c - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5b242376477c - test[20e1f0ae6cad7a17]::test_main_with_exit_callback::<test[20e1f0ae6cad7a17]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5b2424a199d2 - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5b2424a199d2 - std[f92b4c606f291077]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5b24249ff258 - std[f92b4c606f291077]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5b24249f63d9 - std[f92b4c606f291077]::sys::backtrace::__rust_end_short_backtrace::<std[f92b4c606f291077]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5b2424a0021d - __rustc[8241495c18a89d70]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5b2424a3bb5c - core[786f478f706679df]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5b2424a3b9e3 - core[786f478f706679df]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x5b24236fde5c - core[786f478f706679df]::panicking::assert_failed::<ai_workbench_lib[dfdc2881c2d1c9a7]::modules::file_splitter::splitter_types::json_splitter::JsonFormat, ai_workbench_lib[dfdc2881c2d1c9a7]::modules::file_splitter::splitter_types::json_splitter::JsonFormat>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x5b2423714b84 - ai_workbench_lib[dfdc2881c2d1c9a7]::modules::file_splitter::splitter_types::json_splitter::tests::test_standard_json_detection
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../modules/file_splitter/splitter_types/json_splitter.rs:354:9
[INFO] [stdout]   22:     0x5b242370afe7 - ai_workbench_lib[dfdc2881c2d1c9a7]::modules::file_splitter::splitter_types::json_splitter::tests::test_standard_json_detection::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../modules/file_splitter/splitter_types/json_splitter.rs:348:38
[INFO] [stdout]   23:     0x5b24236becf6 - <ai_workbench_lib[dfdc2881c2d1c9a7]::modules::file_splitter::splitter_types::json_splitter::tests::test_standard_json_detection::{closure#0} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5b242375885b - <fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5b242375885b - test[20e1f0ae6cad7a17]::__rust_begin_short_backtrace::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x5b242376524b - test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x5b242376524b - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x5b242376524b - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5b242376524b - std[f92b4c606f291077]::panicking::catch_unwind::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5b242376524b - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5b242376524b - test[20e1f0ae6cad7a17]::run_test_in_process
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x5b242376524b - test[20e1f0ae6cad7a17]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x5b2423760964 - test[20e1f0ae6cad7a17]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x5b2423760964 - std[f92b4c606f291077]::sys::backtrace::__rust_begin_short_backtrace::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5b2423767e52 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x5b2423767e52 - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x5b2423767e52 - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5b2423767e52 - std[f92b4c606f291077]::panicking::catch_unwind::<(), core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5b2423767e52 - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5b2423767e52 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x5b2423767e52 - <std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5b2424a2115f - <alloc[64763625b5a07cdb]::boxed::Box<dyn core[786f478f706679df]::ops::function::FnOnce<(), Output = ()> + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   43:     0x5b2424a2115f - <std[f92b4c606f291077]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x76b83bbf5aa4 - <unknown>
[INFO] [stdout]   45:     0x76b83bc82a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- modules::file_splitter::splitter_types::json_splitter::tests::test_json_array_detection stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'modules::file_splitter::splitter_types::json_splitter::tests::test_json_array_detection' (42) panicked at src/../modules/file_splitter/splitter_types/json_splitter.rs:364:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: JsonLines
[INFO] [stdout]  right: Standard
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b2424a220aa - std[f92b4c606f291077]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5b2424a220aa - std[f92b4c606f291077]::backtrace_rs::backtrace::trace_unsynchronized::<std[f92b4c606f291077]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5b2424a220aa - std[f92b4c606f291077]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5b2424a220aa - <<std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[786f478f706679df]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5b2424a3b36a - <core[786f478f706679df]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5b2424a3b36a - core[786f478f706679df]::fmt::write
[INFO] [stdout]    6:     0x5b2424a27ae2 - std[f92b4c606f291077]::io::default_write_fmt::<alloc[64763625b5a07cdb]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5b2424a27ae2 - <alloc[64763625b5a07cdb]::vec::Vec<u8> as std[f92b4c606f291077]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5b24249ff19f - <std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5b24249ff19f - std[f92b4c606f291077]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5b2424a19759 - std[f92b4c606f291077]::panicking::default_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5b242376477c - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5b242376477c - test[20e1f0ae6cad7a17]::test_main_with_exit_callback::<test[20e1f0ae6cad7a17]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5b2424a199d2 - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5b2424a199d2 - std[f92b4c606f291077]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5b24249ff258 - std[f92b4c606f291077]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5b24249f63d9 - std[f92b4c606f291077]::sys::backtrace::__rust_end_short_backtrace::<std[f92b4c606f291077]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5b2424a0021d - __rustc[8241495c18a89d70]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5b2424a3bb5c - core[786f478f706679df]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5b2424a3b9e3 - core[786f478f706679df]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x5b24236fde5c - core[786f478f706679df]::panicking::assert_failed::<ai_workbench_lib[dfdc2881c2d1c9a7]::modules::file_splitter::splitter_types::json_splitter::JsonFormat, ai_workbench_lib[dfdc2881c2d1c9a7]::modules::file_splitter::splitter_types::json_splitter::JsonFormat>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x5b2423714184 - ai_workbench_lib[dfdc2881c2d1c9a7]::modules::file_splitter::splitter_types::json_splitter::tests::test_json_array_detection
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../modules/file_splitter/splitter_types/json_splitter.rs:364:9
[INFO] [stdout]   22:     0x5b242370af27 - ai_workbench_lib[dfdc2881c2d1c9a7]::modules::file_splitter::splitter_types::json_splitter::tests::test_json_array_detection::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../modules/file_splitter/splitter_types/json_splitter.rs:358:35
[INFO] [stdout]   23:     0x5b24236bebf6 - <ai_workbench_lib[dfdc2881c2d1c9a7]::modules::file_splitter::splitter_types::json_splitter::tests::test_json_array_detection::{closure#0} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5b242375885b - <fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5b242375885b - test[20e1f0ae6cad7a17]::__rust_begin_short_backtrace::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x5b242376524b - test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x5b242376524b - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x5b242376524b - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5b242376524b - std[f92b4c606f291077]::panicking::catch_unwind::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5b242376524b - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5b242376524b - test[20e1f0ae6cad7a17]::run_test_in_process
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x5b242376524b - test[20e1f0ae6cad7a17]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x5b2423760964 - test[20e1f0ae6cad7a17]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x5b2423760964 - std[f92b4c606f291077]::sys::backtrace::__rust_begin_short_backtrace::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5b2423767e52 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x5b2423767e52 - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x5b2423767e52 - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5b2423767e52 - std[f92b4c606f291077]::panicking::catch_unwind::<(), core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5b2423767e52 - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5b2423767e52 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x5b2423767e52 - <std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5b2424a2115f - <alloc[64763625b5a07cdb]::boxed::Box<dyn core[786f478f706679df]::ops::function::FnOnce<(), Output = ()> + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   43:     0x5b2424a2115f - <std[f92b4c606f291077]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x76b83bbf5aa4 - <unknown>
[INFO] [stdout]   45:     0x76b83bc82a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- modules::file_splitter::splitter_types::json_splitter::tests::test_invalid_json_rejection stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'modules::file_splitter::splitter_types::json_splitter::tests::test_invalid_json_rejection' (41) panicked at src/../modules/file_splitter/splitter_types/json_splitter.rs:400:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: JsonLines
[INFO] [stdout]  right: Invalid
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b2424a220aa - std[f92b4c606f291077]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5b2424a220aa - std[f92b4c606f291077]::backtrace_rs::backtrace::trace_unsynchronized::<std[f92b4c606f291077]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5b2424a220aa - std[f92b4c606f291077]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5b2424a220aa - <<std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[786f478f706679df]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5b2424a3b36a - <core[786f478f706679df]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5b2424a3b36a - core[786f478f706679df]::fmt::write
[INFO] [stdout]    6:     0x5b2424a27ae2 - std[f92b4c606f291077]::io::default_write_fmt::<alloc[64763625b5a07cdb]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5b2424a27ae2 - <alloc[64763625b5a07cdb]::vec::Vec<u8> as std[f92b4c606f291077]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5b24249ff19f - <std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5b24249ff19f - std[f92b4c606f291077]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5b2424a19759 - std[f92b4c606f291077]::panicking::default_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5b242376477c - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5b242376477c - test[20e1f0ae6cad7a17]::test_main_with_exit_callback::<test[20e1f0ae6cad7a17]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5b2424a199d2 - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5b2424a199d2 - std[f92b4c606f291077]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5b24249ff258 - std[f92b4c606f291077]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5b24249f63d9 - std[f92b4c606f291077]::sys::backtrace::__rust_end_short_backtrace::<std[f92b4c606f291077]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5b2424a0021d - __rustc[8241495c18a89d70]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5b2424a3bb5c - core[786f478f706679df]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5b2424a3b9e3 - core[786f478f706679df]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x5b24236fde5c - core[786f478f706679df]::panicking::assert_failed::<ai_workbench_lib[dfdc2881c2d1c9a7]::modules::file_splitter::splitter_types::json_splitter::JsonFormat, ai_workbench_lib[dfdc2881c2d1c9a7]::modules::file_splitter::splitter_types::json_splitter::JsonFormat>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x5b2423714a64 - ai_workbench_lib[dfdc2881c2d1c9a7]::modules::file_splitter::splitter_types::json_splitter::tests::test_invalid_json_rejection
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../modules/file_splitter/splitter_types/json_splitter.rs:400:9
[INFO] [stdout]   22:     0x5b242370afb7 - ai_workbench_lib[dfdc2881c2d1c9a7]::modules::file_splitter::splitter_types::json_splitter::tests::test_invalid_json_rejection::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../modules/file_splitter/splitter_types/json_splitter.rs:395:37
[INFO] [stdout]   23:     0x5b24236becb6 - <ai_workbench_lib[dfdc2881c2d1c9a7]::modules::file_splitter::splitter_types::json_splitter::tests::test_invalid_json_rejection::{closure#0} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5b242375885b - <fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5b242375885b - test[20e1f0ae6cad7a17]::__rust_begin_short_backtrace::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x5b242376524b - test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x5b242376524b - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x5b242376524b - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5b242376524b - std[f92b4c606f291077]::panicking::catch_unwind::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5b242376524b - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5b242376524b - test[20e1f0ae6cad7a17]::run_test_in_process
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x5b242376524b - test[20e1f0ae6cad7a17]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x5b2423760964 - test[20e1f0ae6cad7a17]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x5b2423760964 - std[f92b4c606f291077]::sys::backtrace::__rust_begin_short_backtrace::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5b2423767e52 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x5b2423767e52 - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x5b2423767e52 - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5b2423767e52 - std[f92b4c606f291077]::panicking::catch_unwind::<(), core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5b2423767e52 - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5b2423767e52 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x5b2423767e52 - <std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5b2424a2115f - <alloc[64763625b5a07cdb]::boxed::Box<dyn core[786f478f706679df]::ops::function::FnOnce<(), Output = ()> + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   43:     0x5b2424a2115f - <std[f92b4c606f291077]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x76b83bbf5aa4 - <unknown>
[INFO] [stdout]   45:     0x76b83bc82a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- modules::file_splitter::splitter::integration_tests::test_edge_cases stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'modules::file_splitter::splitter::integration_tests::test_edge_cases' (24) panicked at src/../modules/file_splitter/splitter.rs:263:9:
[INFO] [stdout] assertion failed: chunks[0].metadata.has_headers
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b2424a220aa - std[f92b4c606f291077]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5b2424a220aa - std[f92b4c606f291077]::backtrace_rs::backtrace::trace_unsynchronized::<std[f92b4c606f291077]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5b2424a220aa - std[f92b4c606f291077]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5b2424a220aa - <<std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[786f478f706679df]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5b2424a3b36a - <core[786f478f706679df]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5b2424a3b36a - core[786f478f706679df]::fmt::write
[INFO] [stdout]    6:     0x5b2424a27ae2 - std[f92b4c606f291077]::io::default_write_fmt::<alloc[64763625b5a07cdb]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5b2424a27ae2 - <alloc[64763625b5a07cdb]::vec::Vec<u8> as std[f92b4c606f291077]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5b24249ff19f - <std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5b24249ff19f - std[f92b4c606f291077]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5b2424a19759 - std[f92b4c606f291077]::panicking::default_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5b242376477c - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5b242376477c - test[20e1f0ae6cad7a17]::test_main_with_exit_callback::<test[20e1f0ae6cad7a17]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5b2424a199d2 - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5b2424a199d2 - std[f92b4c606f291077]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5b24249ff28a - std[f92b4c606f291077]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5b24249f63d9 - std[f92b4c606f291077]::sys::backtrace::__rust_end_short_backtrace::<std[f92b4c606f291077]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5b2424a0021d - __rustc[8241495c18a89d70]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5b2424a3bb5c - core[786f478f706679df]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5b2424a3bb22 - core[786f478f706679df]::panicking::panic
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5b242370f9be - ai_workbench_lib[dfdc2881c2d1c9a7]::modules::file_splitter::splitter::integration_tests::test_edge_cases
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../modules/file_splitter/splitter.rs:263:9
[INFO] [stdout]   21:     0x5b242370aab7 - ai_workbench_lib[dfdc2881c2d1c9a7]::modules::file_splitter::splitter::integration_tests::test_edge_cases::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../modules/file_splitter/splitter.rs:251:25
[INFO] [stdout]   22:     0x5b24236be676 - <ai_workbench_lib[dfdc2881c2d1c9a7]::modules::file_splitter::splitter::integration_tests::test_edge_cases::{closure#0} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5b242375885b - <fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5b242375885b - test[20e1f0ae6cad7a17]::__rust_begin_short_backtrace::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x5b242376524b - test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x5b242376524b - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x5b242376524b - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5b242376524b - std[f92b4c606f291077]::panicking::catch_unwind::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5b242376524b - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5b242376524b - test[20e1f0ae6cad7a17]::run_test_in_process
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x5b242376524b - test[20e1f0ae6cad7a17]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x5b2423760964 - test[20e1f0ae6cad7a17]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x5b2423760964 - std[f92b4c606f291077]::sys::backtrace::__rust_begin_short_backtrace::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5b2423767e52 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x5b2423767e52 - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x5b2423767e52 - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x5b2423767e52 - std[f92b4c606f291077]::panicking::catch_unwind::<(), core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5b2423767e52 - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5b2423767e52 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x5b2423767e52 - <std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5b2424a2115f - <alloc[64763625b5a07cdb]::boxed::Box<dyn core[786f478f706679df]::ops::function::FnOnce<(), Output = ()> + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   42:     0x5b2424a2115f - <std[f92b4c606f291077]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x76b83bbf5aa4 - <unknown>
[INFO] [stdout]   44:     0x76b83bc82a64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- modules::file_splitter::splitter::integration_tests::test_performance_characteristics stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'modules::file_splitter::splitter::integration_tests::test_performance_characteristics' (28) panicked at src/../modules/file_splitter/splitter.rs:288:9:
[INFO] [stdout] assertion failed: chunks.len() > 1
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b2424a220aa - std[f92b4c606f291077]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5b2424a220aa - std[f92b4c606f291077]::backtrace_rs::backtrace::trace_unsynchronized::<std[f92b4c606f291077]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5b2424a220aa - std[f92b4c606f291077]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5b2424a220aa - <<std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[786f478f706679df]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5b2424a3b36a - <core[786f478f706679df]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5b2424a3b36a - core[786f478f706679df]::fmt::write
[INFO] [stdout]    6:     0x5b2424a27ae2 - std[f92b4c606f291077]::io::default_write_fmt::<alloc[64763625b5a07cdb]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5b2424a27ae2 - <alloc[64763625b5a07cdb]::vec::Vec<u8> as std[f92b4c606f291077]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5b24249ff19f - <std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5b24249ff19f - std[f92b4c606f291077]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5b2424a19759 - std[f92b4c606f291077]::panicking::default_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5b242376477c - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5b242376477c - test[20e1f0ae6cad7a17]::test_main_with_exit_callback::<test[20e1f0ae6cad7a17]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5b2424a199d2 - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5b2424a199d2 - std[f92b4c606f291077]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5b24249ff28a - std[f92b4c606f291077]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5b24249f63d9 - std[f92b4c606f291077]::sys::backtrace::__rust_end_short_backtrace::<std[f92b4c606f291077]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5b2424a0021d - __rustc[8241495c18a89d70]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5b2424a3bb5c - core[786f478f706679df]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5b2424a3bb22 - core[786f478f706679df]::panicking::panic
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5b2423711a6e - ai_workbench_lib[dfdc2881c2d1c9a7]::modules::file_splitter::splitter::integration_tests::test_performance_characteristics
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../modules/file_splitter/splitter.rs:288:9
[INFO] [stdout]   21:     0x5b242370ab77 - ai_workbench_lib[dfdc2881c2d1c9a7]::modules::file_splitter::splitter::integration_tests::test_performance_characteristics::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/../modules/file_splitter/splitter.rs:273:42
[INFO] [stdout]   22:     0x5b24236be776 - <ai_workbench_lib[dfdc2881c2d1c9a7]::modules::file_splitter::splitter::integration_tests::test_performance_characteristics::{closure#0} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5b242375885b - <fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5b242375885b - test[20e1f0ae6cad7a17]::__rust_begin_short_backtrace::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x5b242376524b - test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x5b242376524b - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x5b242376524b - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5b242376524b - std[f92b4c606f291077]::panicking::catch_unwind::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5b242376524b - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5b242376524b - test[20e1f0ae6cad7a17]::run_test_in_process
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x5b242376524b - test[20e1f0ae6cad7a17]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x5b2423760964 - test[20e1f0ae6cad7a17]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x5b2423760964 - std[f92b4c606f291077]::sys::backtrace::__rust_begin_short_backtrace::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5b2423767e52 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x5b2423767e52 - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x5b2423767e52 - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x5b2423767e52 - std[f92b4c606f291077]::panicking::catch_unwind::<(), core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5b2423767e52 - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5b2423767e52 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x5b2423767e52 - <std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5b2424a2115f - <alloc[64763625b5a07cdb]::boxed::Box<dyn core[786f478f706679df]::ops::function::FnOnce<(), Output = ()> + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   42:     0x5b2424a2115f - <std[f92b4c606f291077]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x76b83bbf5aa4 - <unknown>
[INFO] [stdout]   44:     0x76b83bc82a64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     modules::file_splitter::splitter::integration_tests::test_edge_cases
[INFO] [stdout]     modules::file_splitter::splitter::integration_tests::test_mixed_file_types
[INFO] [stdout]     modules::file_splitter::splitter::integration_tests::test_performance_characteristics
[INFO] [stdout]     modules::file_splitter::splitter::tests::test_binary_file_rejection
[INFO] [stdout]     modules::file_splitter::splitter_types::json_splitter::tests::test_invalid_json_rejection
[INFO] [stdout]     modules::file_splitter::splitter_types::json_splitter::tests::test_json_array_detection
[INFO] [stdout]     modules::file_splitter::splitter_types::json_splitter::tests::test_standard_json_detection
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 30 passed; 7 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.33s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "00f33654c9bea7feeacc7c7fe3f2b92c2d22b86cabad454c2ae49d0261556911", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "00f33654c9bea7feeacc7c7fe3f2b92c2d22b86cabad454c2ae49d0261556911", kill_on_drop: false }`
[INFO] [stdout] 00f33654c9bea7feeacc7c7fe3f2b92c2d22b86cabad454c2ae49d0261556911
